异常
The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate,NTLM'.
解决方案
1 配置IIS
网站->属性->目录安全性->身份验证方法: 同时选中”匿名访问”和”集成Windows身份验证”
2 配置WCF客户端的Config文件:
有3处地方: 1)security mode, 2)end point的behaviorConfiguration, 3)behaviors
<system.serviceModel> <bindings> <basicHttpBinding> <binding …> <readerQuotas … />
<security mode="TransportCredentialOnly"> <transport clientCredentialType="Windows" proxyCredentialType="Windows" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security>
</binding> </basicHttpBinding> </bindings> <client> <endpoint ... behaviorConfiguration="ImpersonationBehavior"/> </client> <behaviors> <endpointBehaviors> <behavior name="ImpersonationBehavior"> <clientCredentials> <windows allowedImpersonationLevel="Impersonation"/> </clientCredentials> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>