0

我在使用带有基本身份验证的 HTML 托管的 Web 服务登录时遇到了一个小问题。我尝试了以下方法,但它不起作用。对此有任何限制或陷阱吗?

           var client = new WSClient();
           client.ClientCredentials.UserName.UserName = "xxx";
           client.ClientCredentials.UserName.Password = "yyy";
           client.doIt();

客户端显示 http 401 未授权代码异常,但它不尝试登录。客户端使用 WCF 并由 Visual Studio 2008 生成,服务器运行 Java Apache CXF。基本挑战使用网络浏览器可以正常工作......

4

1 回答 1

1

经过一番调查,这会登录:

var binding = new BasicHttpBinding();
binding.Security.Mode=BasicHttpSecurityMode.TransportCredentialOnly;
binding.Security.Transport.ClientCredentialType=HttpClientCredentialType.Basic;
var client = new WSClient(binding, new EndpointAddress("http://localhost/myws"));
client.ClientCredentials.UserName.UserName = "xxx";
client.ClientCredentials.UserName.Password = "yyy";
client.doIt();
于 2009-12-11T23:36:24.267 回答