I need to access the SharePoint user profile service.
SharePoint quite nicely exposes: http://{Server}/_vti_bin/userprofileservice.asmx
It is authenticated, quite rightly so, however the user I am
accessing it with has permissions, however it still asks for username and
password.
I was getting this error:
The adapter failed to transmit message going to send port
"WcfSendPort_UserProfileServiceSoapOneWay" with URL
"http://{Server}/_vti_bin/userprofileservice.asmx". It will be retransmitted
after the retry interval specified for this Send Port.
Details:"System.ServiceModel.FaultException: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Server
was unable to process request. --->
System.ServiceModel.EndpointNotFoundException</faultstring><detail
/></soap:Fault></soap:Body></soap:Envelope>
Server was unable to process request. System.ServiceModel.EndpointNotFoundException
Not much help to me…
After some searching I found I needed to use impersonation.
The main reason was from .net I can simply do:
WSService.Credentials = System.Net.CredentialCache.DefaultCredentials;
Now the current user is impersonated and if they have
permissions it works. GREAT.
I’m in BizTalk, and I’m on the WCF port…
The port is using wcf-basichttp as the protocol, and it
should be able to just I have no idea how.
Well the solution I found is rather simple.
Use a wcf-custom port.
Setup the basic-httpbinding.
First of all set the transport to client credential type
ntlm
Then flip over to Behavior
It will be blank. Right
click end point behavior:
Select add extension.
Add client credentials and configure like so:
After doing this my error went away.