我正在尝试使用其他公司宣传的服务。关于身份验证和通信的规范是:
这是我到目前为止所提供的代码:
WSHttpBinding binding = new WSHttpBinding(SecurityMode.Transport);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
binding.SendTimeout = binding.CloseTimeout = binding.ReceiveTimeout = binding.OpenTimeout = new TimeSpan(0, 15, 0); // 15 minutes
Uri uri = new Uri(input.ServiceAddress);
EndpointAddress endpointAddress = new EndpointAddress(uri);
// Client creation
using (Client client = new Client(binding, endpointAddress))
{
client.ClientCredentials.ClientCertificate.Certificate = input.PrivateCertificate;
client.ClientCredentials.ServiceCertificate.DefaultCertificate = input.PublicCertificate;
client.Open();
// Service call
ResponseType response = client.ServiceCall(params);
}
调用服务时出现此错误:
向服务发出HTTP请求时发生错误。这可能是由于在HTTPS情况下未使用HTTP.SYS正确配置服务器证书。这也可能是由于客户端和服务器之间的安全绑定不匹配造成的。
我已经尝试过的事情:
我不知道如何解决这个问题,我对它一无所知!已经搜索了很多,我尝试的一切都没有!
答案 0 :(得分:0)
说我们的基础设施存在一些网络问题。一旦我们从我的机器上取下安全层,服务就会完成。
我猜证书(可能是密钥)没有通过网络而且我收到了这个错误(因为它没有进行身份验证)。