1

I have created a bdc model using .net custom connector which connects to the External system via a custom built webservice. It works when I open the external lists locally from the SharePoint server but I get the famous 'The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'NTLM'. error when I try to open the external list on a client computer.

Tried changing the clientauthenticationtype in the httpBinding to Windows or Ntlm and also manipulated the authentication providers of the webservices in IIS but that didn't work.

Hope someone can help me.

1

How are you handling authentication? Is it done client side direct to source or are you relying on the server to impersonate?

If the latter you have the NTLM 'double-hop' issue. You may need to utilize Secure Store and map it to your data source so only a single authentication pass is happening. Or try and change the authentication scheme to handle Kerberos, claims, or cookie.

I'm not a Dev, so I don't have any samples for you.

  • Hi thank you for your reply I tried configuring Secure Store as explained in MSDN but 1. In SPD, when I open the Connection Properties, I can only specify the Secondary Secure Store Application ID. In the guide it says I should select Impersonate Windows Identity but I don't see this option. 2. After I saved the connection properties the list started working in the client. But after a couple of minutes - i get the same error again with HTTP request unauthorized... I do have a feeling it's a douple hop issue but I'm quite confused with the inconsistent behavior. Thanks for your help – ladiebugged Feb 10 '13 at 12:00
  • 1
    Sounds like you are in a load balanced scenario and your session is being sent to different servers. It works initially against one server, however at some point that request is being serviced by another. At that point, it is trying to "impersonate" the credentials and you getting the error. Try and isolate the server you connect to, and ensure that server is the only server the will service the web request. If the issue goes away then you need to find a way to ensure service affinity when making these connections. – Jesus Shelby Feb 11 '13 at 0:46
  • As mentioned by @JesusShelby, there are 2 machines (machine 1 and machine 2). Both work individually without any issues. But, when a load balancer is introduced in front of machine 1 and machine 2, I get this error. What to do? – Vikram Nov 30 '16 at 23:08
  • @Vikram I suggest starting a new question, and provide details of your setup, what you are seeing and what you have tried. There are plenty of answers on load balancing here on SPSE you can search for as well – Jesus Shelby Dec 1 '16 at 19:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.