我有一个ASP .NET网页,它调用同一站点上存在的ASP.NET Web服务。它们都需要集成的Windows身份验证。
运行网页时,在调用webservice方法时出现以下错误: “请求失败,HTTP状态为401:未经授权。”
我不知道为什么会失败。有没有办法知道从网站使用哪种身份验证协议来调用Web服务方法,以及它失败的原因?
编辑:正如建议的那样,我下载了auth诊断程序,并在运行网页时对其进行监控。结果如下:AcceptSecurityContext Package = NTLM Result = 0x0 ContextAttr = 0x12001c UserName = ClientName = ServerName = Result = 0x0(Fail:context有ASC_RET_NULL_SESSION标志) 主要流程:已完成,检测到1个问题
答案 0 :(得分:1)
您是否浏览过Microsoft Troubleshooting HTTP 401 errors文章?
答案 1 :(得分:1)
如何配置IIS?是否设置为使用匿名或Windows身份验证?此外,应用程序池使用的是什么上下文?也许Web在没有权限访问Web服务的上下文中运行?