【发布时间】:2010-10-25 15:07:57
【问题描述】:
所以我已将 ServiceReference 添加到 C# 控制台应用程序中,该应用程序调用从 Oracle 公开的 Web 服务。
我已经完成了所有设置,当它不使用 SSL (http) 时,它就像桃子一样工作。我现在正在尝试使用 SSL 进行设置,但在将其添加到服务引用(甚至是 Web 引用)时遇到了问题。例如,当我尝试将其添加到 Visual Studio 中时,服务公开的 URL (https) 没有返回适当的 Web 方法。
底层连接已关闭:发送时发生意外错误。 从传输流接收到意外的 EOF 或 0 字节。 元数据包含无法解析的引用:'https://srs204.mywebsite.ca:7776/SomeDirectory/MyWebService?WSDL'
我遇到的另一个难题是关于证书管理和部署。我有大约 1000 个外部客户端站点需要使用这个小实用程序,并且他们需要在适当的证书存储中安装证书才能连接到 Web 服务。不确定处理此问题的最佳方法。他们需要在根存储中吗?
我在网上花了好几个小时查看各种选项,但在任何地方都找不到一个好的明确答案。
总而言之,我有几个问题:
1) 有人有一些关于在 Visual Studio 中设置使用 SSL 的 Web 服务的好链接吗?
2) 我应该如何注册证书?它应该存在于哪个商店?我可以使用 CertMgr 之类的东西来注册它吗?
必须有一本好书/教程/任何可以向我展示设置此类内容的常见良好做法的东西。就是找不到!
【问题讨论】:
-
您是否与创建该网站的人核对以了解其最终配置方式?
-
他们现在在同一栋楼里,所以如果是服务器相关的东西,我可以改变它。我可以在浏览器中调出 https URL,它会显示标准的 Oracle Web 服务测试页面。这样我就可以打了。当我点击该 URL 时,它确实要求我接受证书。我收到了两个需要注册的 .cer 文件(一个用于开发服务器,一个用于生产服务器)。
-
如果您在浏览器中打开 url (https),您会看到预期的结果吗?其他人是否通过 https 使用此服务没有问题?我不确定 oracle Web 服务是如何工作的,但如果它托管在 IIS 上或通过 IIS 托管,则需要将域名 (webservice.servicehost.com) 添加为 SSL 主机标头。
-
我是目前唯一一个尝试使用它的人。当我打开它时,我得到一个作为服务端点的页面。它有一些选项,我可以用来对其进行测试、运行压力测试、查看 WSDL 等。所以我很确定它可以正常运行,或者至少在外观上看起来是这样。我在没有 SSL 的 (http) 版本上获得了相同的页面,并且该版本运行良好。
-
好吧,我正在继续我自己的研究。到目前为止,此链接已有所帮助...weblogs.asp.net/jan/archive/2003/12/04/41154.aspx
标签: c# visual-studio web-services ssl console-application