如何配置我的代理客户端,使其行为类似于WebClient(身份验证)?

时间:2013-09-10 14:43:36

标签: c# wcf authentication cxf webclient

我正在尝试使用需要在C#中进行身份验证的java Web服务。

我能够使用WebClient发送原始SOAP:

using (var client = new WebClient())
{
    client.Credentials = new NetworkCredential(MyUsername, MyPassword);
    // ...
}

但我不能用svcutil工具生成的代理来完成它:

using (var client = new MyInterfaceClient(endpoint))
{
    client.ClientCredentials.UserName.UserName = MyUsername;
    client.ClientCredentials.UserName.Password = MyPassword;
    // ...
}

我想配置代理,以便代理的行为与WebClient相同。我已经尝试了一些绑定,但它只是不起作用:

<binding name="MyBinding">
  <security mode="TransportCredentialOnly">
    <transport clientCredentialType="Basic" />
    <message clientCredentialType="UserName" algorithmSuite="Default" />
  </security>
</binding>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用Fiddler查看您的工作请求在HTTP标头方面的确切程度。然后将它与您的WCF生成的请求进行比较。您可以在此处发布结果。