我正在尝试使用需要在 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>
有任何想法吗 ?