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

本文关键字:客户端 类似于 身份验证 Web 何配置 配置 我的 代理 | 更新日期: 2023-09-27 18:30:52

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

我想配置代理,以便代理的行为与 Web 客户端相同。我已经尝试了一些绑定,例如,但它不起作用:

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

有什么想法吗?

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

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