I have a VB6 backend for a classic ASP site. That VB then calls a web service on the same server using MSXML2. This works all of our servers but one. If I set the web service site to accept anonymous login it will work however if I force only integrated security MSXML returns an Access Denied error.
I'm assuming the credentials aren't getting passed from the VB backend on this server to the web service. What are some reasons this might happen?
Edit: Here's the error message I'm getting. I'm getting it when I'm going to the website from the server or another computer. If I go directly to the webservice everything works fine.
2009-07-16 13:56:47 W3SVC1 <IP Address> POST /reportprint/reportprint.asmx - 80 - <IP ADDRESS> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 401 2 2148074254
Update: Try setting the web site to NTLM authentication (instead of the default that is NTLM and Kerberos).
change the "WebSite" to the number of the website ( can be seen in the mmc ). The details are in "How to configure IIS to support both the Kerberos protocol and the NTLM protocol for network authentication"
The 401.2 error is "Denied by server configuration". You can read about it here and here.
Before update: Are you sure that credentials aren't passed from the asp site? Try putting this site into anonymous login. And configure the application pool to run on a high privilege account (only temporary!) and see if that solve the problem.
Also, can you paste the line from the iis log? Especially the error code ( the 401 and the next two numbers).
There are lots of issues with passing credentials with legacy apps. My guess is that the VB6 stuff is using NTLM and the server won't accept it.
You might get more help with this on Stack Overflow.