无法在VS.Net 2010中添加安全的Web引用

时间:2012-04-03 21:02:02

标签: visual-studio-2010 ssl-certificate web-reference

背景:我的任务是创建单一登录解决方案,将内部用户重定向到供应商的Web应用程序。我将其设置为ASP.Net项目,该项目将调用供应商提供的Web服务。此服务将返回用于登录供应商站点的URL和令牌。所有这一切都要安全地完成。

问题:使用Visual Studio的 添加Web引用 对话框下载WSDL并生成所需的代理类时,出现以下错误:

  

下载时出错   的 'https://服务器:端口/文件夹/服务WSDL'。该   底层连接已关闭:a上发生意外错误   发送。身份验证失败,因为远程方已关闭   运输流。元数据包含不能的引用   解决:   的 'https://服务器:端口/文件夹/服务WSDL'。一个   发出HTTP请求时发生错误   https://server:port/folder/Service?wsdl。这个   可能是由于未配置服务器证书   在HTTPS情况下正确使用HTTP.SYS。这也可能是由   客户端和服务器之间的安全绑定不匹配。   基础连接已关闭:发生意外错误   发送。身份验证失败,因为远程方已关闭   运输流。如果在当前解决方案中定义了服务,   尝试构建解决方案并再次添加服务引用。

除了此错误, 添加引用 按钮显示为灰色,这使我无法添加引用并生成代理类。

该项目在.Net Framework 4.0下运行。我已正确下载并安装了必要的客户端密钥/证书。我已将IP地址和服务器名称添加到hosts文件中,并将其添加到代理绕过列表中。我可以浏览到端点并在IE和VS的Web浏览器中查看WSDL。我甚至可以在VS中的 添加Web引用 对话框中查看WSDL。在每种情况下,我都会提示我选择要使用的证书。

我无法访问Web服务本身或它所在的服务器。

我在Google上花了很多时间,但未能找到解决方案。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

通过引用URL file:\\\drive:\pathname\filename.wsdl下载WSDL并通过 添加Web引用 对话框将其拉入VS来解决此问题。