【问题标题】:SVC WebService works over HTTP, fails over HTTPSSVC WebService 通过 HTTP 工作,通过 HTTPS 故障
【发布时间】:2010-07-14 15:52:56
【问题描述】:

我的一位同事在对 .NET WebService 进行 AJAX 调用时遇到问题。该调用在 HTTP 下有效,但同一调用在 HTTPS 下出现问题。 Web 服务是在 IIS 7 服务器上使用 C# 用 .NET 4.0 编写的。

安全网站位于https://sql.data-rx.com/grouppharmdrugsearch/http://sql.data-rx.com/grouppharmdrugsearch/ 有一个不安全的版本。页面本身没有任何敏感信息。它嵌入(我相信一个框架)在使用 HTTPS 的客户网站上,并且我们的页面需要使用 HTTPS,因此浏览器不会给出混合的安全/不安全元素呈现消息。

要在网站上测试问题,您首先必须在第二个文本框中输入邮政编码(我一直使用 90210 进行测试),然后您可以在第三个文本框中输入药物的前几个字母。在等待一秒钟左右的额外字母后,页面调用 Web 服务以填充以提供的字母开头的可能药物选择的下拉列表。安全的 web 服务调用是到 https://sql.data-rx.com/grouppharmdrugsearch/Service/drugNameAutocomplete.svc/GetDrugList,并带有 'prefixText' 和 'count' 的 POST 数据。在 HTTP 下,服务调用成功并填充下拉列表;在 HTTPS 下,调用会收到 404 错误。如果您将浏览器指向https://sql.data-rx.com/grouppharmdrugsearch/Service/drugNameAutocomplete.svc,则可以访问 HTTPS Web 服务,但该方法在附加到服务时无法识别。

我一直在使用 Firefox 的 Tamper Data 插件来比较服务调用,它们看起来完全一样,除了一个是针对 HTTPS 站点的,一个是针对 HTTP 站点的,并且引用者会适当地更改。 HTTPS 调用接收 404 错误,而 HTTP 调用接收 JSON 数据。

我相信 Web 服务中可能缺少某些东西,允许调用在 HTTPS 下运行(尽管我想不出在这种情况下应该有什么重要的东西),或者 HTTPS 网站本身在它时配置错误被建立。任何帮助将不胜感激。

【问题讨论】:

    标签: ajax web-services https


    【解决方案1】:

    我们终于从this site 中找到了解决方案。基本上绑定只为 HTTP 而不是 HTTPS 配置,我们需要创建一个自定义绑定以允许 web 服务通过 HTTPS 运行。

    【讨论】:

    • 它工作正常!只需添加绑定块并设置属性。 TNX 人 ;)
    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 2014-08-13
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 2012-05-16
    相关资源
    最近更新 更多