Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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
share|improve this question
    
This belongs on SO. –  John Saunders Jul 18 '09 at 5:07
    
My guess is the problem lies in the server configuration since it works on 3 other servers. –  Ryan Jul 20 '09 at 12:52

2 Answers 2

up vote 1 down vote accepted

Update: Try setting the web site to NTLM authentication (instead of the default that is NTLM and Kerberos).

open cmd.exe
go to directory:
C:\Inetpub\AdminScripts
type:
cscript adsutil.vbs set w3svc/<WebSite>/root/NTAuthenticationProviders "NTLM"

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).

share|improve this answer
    
Thanks for the answer. This is the information I was looking for. I still haven't gotten it working but this is getting me in what I believe is the correct direction. –  Ryan Jul 21 '09 at 12:35

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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