ASP.NET调用Web服务的时候,常常会出现http 401 Access Denied或http 403 Access Forbbiden的错误信息。我在调用Cyndi写的WebService的时候,就不能调用,老是返回http 401Access Denied的错误。
造成这个错误的主要原因是由于通过代理类去访问一个WebService,解决这个问题的方法很简单:
方法一:将Web服务所在的虚拟目录的权限改为可以匿名访问。
方法二:在调用Web服务的程序中加入如下语句:
ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
有两种方法解决:
1.把目录访问权限设为匿名访问
2.使用NetWorkCredental把用户身份信息传给IIS进行验证.