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