【发布时间】:2012-04-03 21:02:02
【问题描述】:
背景:我的任务是创建一个单点登录解决方案,它将我们的内部用户重定向到供应商的 Web 应用程序。我已将其设置为 ASP.Net 项目,该项目将调用供应商提供的 Web 服务。该服务将返回一个 URL 和一个用于登录供应商站点的令牌。所有这些都必须安全地完成。
问题:当使用 Visual Studio 的 Add Web Reference 对话框下载 WSDL 并生成所需的代理类时,我收到以下错误:
下载时出错 'https://server:port/folder/Service?wsdl'。这 基础连接已关闭:发生意外错误 发送。身份验证失败,因为远程方已关闭 传输流。元数据包含一个不能被 解决: 'https://server:port/folder/Service?wsdl'。一个 发出 HTTP 请求时出错 https://server:port/folder/Service?wsdl。这 可能是由于未配置服务器证书 在 HTTPS 情况下正确使用 HTTP.SYS。这也可能是由于 客户端和服务器之间的安全绑定不匹配。 底层连接已关闭:发生意外错误 一个发送。身份验证失败,因为远程方已关闭 传输流。如果在当前解决方案中定义了服务, 尝试构建解决方案并再次添加服务引用。
除了这个错误,添加引用按钮是灰色的,阻止我添加引用和生成代理类。
该项目在 .Net Framework 4.0 下运行。我已正确下载并安装了必要的客户端密钥/证书。我已将 IP 地址和服务器名称添加到主机文件中,并将两者都添加到代理绕过列表中。我可以浏览到端点并在 IE 和 VS 的 Web 浏览器中查看 WSDL。我什至可以在 VS 的 Add Web Reference 对话框中查看 WSDL。在每种情况下,系统都会提示我选择要使用的证书,我会这样做。
我无权访问网络服务本身或它所在的服务器。
我在 Google 上花费了很多时间,但一直没有找到解决办法。有什么想法吗?
【问题讨论】:
标签: visual-studio-2010 ssl-certificate web-reference