0

我正在尝试使用需要在 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>

有任何想法吗 ?

4

1 回答 1

0

使用 Fiddler 查看您的工作请求在 HTTP 标头方面的具体情况。将其与您的 WCF 生成的请求进行比较。您可以在此处发布结果。

于 2013-09-10T15:27:25.743 回答