【问题标题】:WCF Web Service - My service configuration says HTTPS, my client says HTTPWCF Web 服务 - 我的服务配置显示 HTTPS,我的客户端显示 HTTP
【发布时间】:2011-01-12 11:08:32
【问题描述】:

我的 WCF 服务实现似乎具有所有必要的 HTTPS 配置设置。整个客户端-> 服务通信工作得很好,我的问题是请求响应似乎没有通过 HTTPS 传输。

我的配置:

wsHttpBinding - 检查
mexHttpsBinding - 检查
安全模式="消息" - 检查
httpsGetEnabled - 检查

当我检查 Fiddler 中的通信时,我看到请求和响应是通过 HTTP 而不是 HTTPS 发出的。这与 WSDL 动作相关联,该动作指出:

location="http://ws019.sms.com/Alpha.Services.AMSB2B/DeviceService.svc/Journey"/ wsa10:Address @987654321@ /wsa10:Address

同样在我在客户端的端点配置中,端点指向 HTTP 地址而不是 HTTPS 地址(大概这是在查看 WSDL),例如。

endpoint address="http://ws019.sms.com/Alpha.Services.AMSB2B/DeviceService.svc/Device" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IDeviceService" contract="AMSB2B.IDeviceService" name="WSHttpBinding_IDeviceService"

为什么 WSDL/客户端端点地址中有 HTTP,而不是 HTTPS?如果我手动更改配置,它会在运行时抱怨期待 HTTP。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: wcf web-services https


    【解决方案1】:

    您的配置错误。具有消息安全性的 WsHttpBinding 使用 HTTP。您必须使用传输安全性。

    【讨论】:

    • 感谢您的回复。我需要使用消息安全,它是一个公共访问 API,据我了解,在这种情况下最好使用消息模式安全而不是传输。这是否意味着在使用消息模式安全性时始终通过 HTTP 发送加密数据?
    • 在这种情况下,您不需要 HTTPS。你为什么要加密和签署你的消息两次?当使用消息安全性时,内置 WsHttpBinding 始终使用 HTTP 通道,因为加密和签名是在消息级别执行的。
    • 再次感谢 - 我最终在使用传输安全性的服务上创建了第二个端点,并且效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2019-12-07
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多