客户端证书和 Visual Studio WSDL

Client Certificates and Visual Studio WSDL

我遇到了一个相当不寻常的问题,我无法在 visual studio 2013 年使用 wsdl。

为了查看 IE/Chrome/Safari 中的 url,我需要安装 .p12 和 .crt 安全证书。

我设置了IE不提示,但是在Safari中我看到如下提示: 我猜visual studio也是想确认证书但是无法提示

在 Visual Studio 2013 中尝试添加服务引用时,我看到以下错误:

"An error occured (details) while attempting to find services at..."

详情如下:

There was an error downloading 'https://xxx/xxx.svc/$metadata'.
The request was aborted: Could not create SSL/TLS secure channel.
Metadata contains a reference that cannot be resolved: 'https://xxx.wsdl'.
Could not establish secure channel for SSL/TLS with authority 'xxx.com'.
The request was aborted: Could not create SSL/TLS secure channel.
If the service is defined in the current solution, try building the solution and adding the service reference again.

有解决办法吗?

您应该获取 .wsdl 文件,然后使用 wsdl.exe 从中生成代理。

Prashant 所说的第一步是下载 WSDL 文件。这与浏览器中的 'File > Save As' 一样简单。

下一步是检查下载的 WSDL 并查看 xml 是否有任何 'xs:import' 引用。按照每个参考并将文件下载到与 WSDL 相同的路径。

我发现 WSDL 引用了 2x .xsd 文件,然后这些文件引用了其他 .xsd 文件。我最终得到了 6 个文件。

对于所有文件(wsdl 和 xsd),有必要检查 'xs:import' 以确保 schemaLocation 指向本地文件路径。

最后,如果您添加服务引用作为细读并输入 WSDL 文件的本地路径。

很抱歉回答我自己的问题,但我想为团队的其他成员以及可能遇到问题的任何其他人记录下来。