我们有一个Windows身份验证的现有Web服务(SOAP / XML)。我们正在添加一个具有匿名身份验证的新WCF服务。从WCF服务从现有Web服务调用函数时,我收到以下错误
请求失败,HTTP状态为401:未经授权。
我们确实有其他控制台和Web应用程序调用现有服务而没有任何问题。
我尝试将UseDefautlCredentials
设置为True
并且没有任何区别(WS.UseDefaultCredentials = True
)。
还尝试将现有服务添加为服务引用而不是Web引用,我得到了不同的错误
HTTP请求未经授权,客户端身份验证方案为“匿名”。从服务器收到的身份验证标头是“Negotiate,NTLM”。
我真的不想在现有的Web服务上将身份验证更改为匿名,因为它已通过AD身份验证。
非常感谢任何帮助。非常感谢。
答案 0 :(得分:0)
你的问题是双跳。
您有一些选择,使用kerberos,在您调用soap服务或模拟您的wcf服务时,将代码传递给您的代码,但您必须对其进行测试。
<serviceAuthorization impersonateCallerForAllOperations="true" />