Newsgroups : Microsoft : microsoft.public.inetsdk.programming.wininet : 2006 Apr : HttpSendRequest and authentication

www.cryer.info
Managed Newsgroup Archive

HttpSendRequest and authentication

Subject:HttpSendRequest and authentication
Posted by:"Eric" (bauersachs@kull.ch.removehere.nospam.me.com)
Date:Tue, 4 Apr 2006 18:30:45

Hello! I've got a TSP (Telephony Service Provider) that makes a Webservice
call. The code to call the Webservice has been auto-generated by Visual
Studio (uses WinINet, atlsoap.h, etc.). The problem is that on one machine
HttpSendRequest (within atlsoap.h) receives a 401 error and later in my code
I get an E_FAIL result. The thread that makes the call runs under a specific
user account, because I expect an NTLM auto-login. When I try the same code
with the same user account on another machine, it works. There are no
differences on the Webservice side based on the IP address or so. Using a
network analyzer I've seen that on the machine where it works the protocol
looks just fine (first anonymous call, answer 401 with NTLM support, second
call with NTLMSSP_NEGOTIATE, answer 401 with NTLMSSP_CHALLENGE, third call
with NTLMSSP_AUTH, with answer 200 OK). On the machine where it doesn't work
it looks like this: first anonymous call, answer 401 with NTLM support. But
no continuation. Both machines have same cookie-settings in IE, same proxy
settings in IE, same settings for auto-logon in intranet in IE.
Questions:
- How does the automatic logon procedure work within HttpSendRequest (there
is no code that calls HttpSendRequest a second time)?
- Why doesn't it even try to connect with NTLM?
- Any other ideas what I could check about what the difference on the two
machines is?
- Other suggestions?
Eric

Replies:

www.cryer.info
Managed Newsgroup Archive