仅 .NET客户端的 wsHttpBinding ?
因为在wsHttpBinding中启用了默认安全性,所以数据通过加密传输。 那么非.NET客户端(如 java或php )如何使用这样的WCF服务呢?
答案 0 :(得分:1)
我相信WsHttpBinding的默认Message安全性设置为“Windows”。这可能是因为这将使安全性开箱即用,至少对于WCF服务和客户端而言。
如果你需要可以互操作,那么很容易改变它。您可以将其设置为以下任何一个:
有关详细信息,请参阅"message, of wsHttpBinding" MSDN page。要测试与Java或PHP客户端的通信,您可以暂时禁用安全性:
<wsHttpBinding>
<binding>
<security mode="Message">
<!-- Not recommended! Use only for testing. -->
<message clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
在你完成工作之后,你可以切换到 - 例如 - 使用证书,具体取决于你的非WCF方支持的内容。
答案 1 :(得分:1)
正如Jeroen所说,默认情况下,wsHttpBinding默认为邮件安全性和Windows凭据
对于非Windows客户端,您需要更改身份验证模式。但是,如果您保持消息安全性,则还需要任何使用工具包来实现WS-Security(以及WS-Trust / WS-SecureConversation)。
你使用wsHttpBinding的哪些功能意味着basicHttpBinding不合适? BasicHttpBinding是一个更简单的绑定,可以在互操作场景中工作