There's a single user in the organization with accounts in multiple domains. Those extra domains are causing a problem in a SmartObject. I'd love to ignore this problem, but unfortunately that user is the CTO.
In an infopath form, I make a call to a SmartObject using Active Director Service 2 to get user information like their display name. For most of our users this works fine. I set the username input to the username() function in InfoPath and query the service and everything works. Our primary domain is 'ALPHA' . However the CTO, who is a member of a few legacy domains, get's an error. Specifically, in the ULS logs I have this:
Data adapter failed during OnLoad: The remote server returned an error: (500) Internal Server Error. Server was unable to process request. ---> SmartObject is empty.
When I connect to the service, the username is set to "i:0#.w|alphapnewhook" and everything works. It also works if I set the input to "alphapnewhook" or even just "pnewhook". However if the CTO connects with, say, "i:0#.w|alphajdoe" it fails. Interestingly, "alphajdoe" and "jdoe" work fine. That bit in front of the domain is because we run claims authentication.
I saw somewhere that the service instance may need to be configured, but the LDAP field looks okay LDAP://DC=ALPHA,DC=CGLP,DC=CA