1) 我在机器A上创建了一个WCF服务,并将其托管在运行在此URL下的IIS 5.1上: http://mydomain/SetupPOCService/Service1.svc
2) 在机器B上,我创建了一个Asp.net Web应用程序。在此应用程序中,我尝试使用先前在另一台计算机上托管的MachineA的WCF服务。当我从Visual Studio环境运行此Web应用程序时,它会访问MachineA的WCF服务并获取数据。
--- 到此为止还好 ---
3) 在机器B上 - 现在我在IIS 5.1中托管了我的Web应用程序。该Web应用程序在此处正常工作,但无法访问MachineA的WCF服务并显示以下错误:
远程服务器返回错误:(401) 未经授权。
StackTrace [MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'.]
我尝试过很多方法,但都没有帮助。请提供您的建议......
以下是客户端的Web.Config:
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
以下是服务器的 Web.Config 文件
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>