首页 > 解决方案 > WCF 错误:“客户端和服务器之间的安全绑定不匹配”

问题描述

所以我有两个项目调用相同的第 3 方 SOAP 服务。两个项目(项目 A 和项目 B)具有相同的配置,并且都运行 .NET 4.7.2。项目 B 运行良好,但项目 A 抛出以下异常:

向https://XXXXXXXXXX发出 HTTP 请求时出错。这可能是由于在 HTTPS 情况下未使用 HTTP.SYS 正确配置服务器证书。这也可能是由于客户端和服务器之间的安全绑定不匹配造成的。

我在项目 A 中设置了安全协议以匹配项目 B(Ssl3 && Tls)。我也尝试过使用 HTTP 而不是 HTTPS。

项目 A - Web Api 项目 .NET 4.7.2

项目 B - 控制台应用程序 .NET 4.7.2

任何建议,将不胜感激。

标签: c#wcf

解决方案


添加代理服务器设置(不知道我们有一个)解决了我的问题。

请参见下面的示例代码:

private string SendDataExample()
{
    using (var client = new ServiceClient())
    {
        SetProxy(client.Endpoint.Binding as BasicHttpBinding);
    }   
}           

private void SetProxy(BasicHttpBinding binding)
{
    binding.ProxyAddress = new Uri($"http://localHost:8080");
    binding.BypassProxyOnLocal = false;
    binding.UseDefaultWebProxy = false;
    binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Ntlm;
}

推荐阅读