提问人:Clement 提问时间:8/18/2023 更新时间:8/18/2023 访问量:17
WSDL 方法不采用给定的证书
WSDL Method don't take the certificate given
问:
我正在 Visual Studio 上开发一个程序,应该使用给定的 WSDL 联系 Web 服务(不是我的)。该服务为我提供了证书和认证链,所有这些都已安装并有效。
每当我尝试使用 wsdl 方法“搜索”时,我都会遇到一个错误,说后跟The message received was unexpected or badly formatted
The request was aborted: Could not create SSL/TLS secure channel
我尝试使用SOAPUI,在SSL密钥库中提供证书,效果很好。
在Visual Studio中,我尝试发出HTTP POST请求,将XML作为字符串传递,并在处理程序中传递证书,它也很好用。网络日志是这样说的:
System.Net Information: 0 : [19260] TlsStream#11429296::.ctor(host=webservice.com, #certs=1, checkCertificateRevocationList=False, sslProtocols=None)
但是每当我这样使用 wsdl 方法时:
WebService client = new WebService();
client.ClientCredentials.ClientCertificate.Certificate = certificate;
OutputData Reponse = client.search(Data);
证书在调试中似乎已加载到通道中(在 VS 中将其悬停时),但网络日志显示以下内容:
System.Net Information: 0 : [11260] TlsStream#16118003::.ctor(host=webservice.com, #certs=0, checkCertificateRevocationList=False, sslProtocols=None)
我试过把Tls12,Expect100Continue,尝试按文件或按存储加载证书......如果我错了,请纠正我,但是证书似乎已加载并准备好进行调试,直到请求,但日志显示它似乎在此过程中丢失了,因此Web服务在没有证书的情况下拒绝我的请求似乎是公平的。
以前有人遇到过这种情况,还是我错过了什么?
答: 暂无答案
评论