【发布时间】:2011-01-26 21:09:26
【问题描述】:
Web 服务管理员给了我 WSDL、两个证书和一个私钥:
service.wsdl
ssl.cer
auth_cert.pem
auth_private_key.pem
在 Visual Studio 2010 中,我从 WSDL 添加了一个 Web 引用(服务引用不起作用)。 然后我尝试使用它,因为它是一个 http soap 客户端:
MySoapClient client = new MySoapClient();
client.Operation();
我得到了这个堆栈跟踪:
Unhandled Exception: System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
证书和私钥有什么关系?
我在网上找不到任何教程,也找不到涵盖此问题的书籍。有什么提示吗?
更新
使用 Firefox 访问端点:
SSL 对等方无法验证您的 证书。 (错误代码: ssl_error_bad_cert_alert)
【问题讨论】:
-
@Tommaso:您应该使用过服务参考。什么不起作用?
-
服务端点是否支持 https 连接?
-
@John Saunders:“添加服务引用”生成一个“空”存根:仅命名空间声明
-
@Wes P:当然,仅支持 https
-
@Tommaso:一定有错误。尝试使用命令行 svcutil.exe 程序生成代码。这样,您就会看到错误是什么。
标签: .net web-services soap ssl https