wshttpbinding仅适用于.net客户端?

时间:2012-09-17 03:07:07

标签: java wcf wshttpbinding

.NET客户端 wsHttpBinding

因为在wsHttpBinding中启用了默认安全性,所以数据通过加密传输。 那么非.NET客户端(如 java或php )如何使用这样的WCF服务呢?

2 个答案:

答案 0 :(得分:1)

我相信WsHttpBinding的默认Message安全性设置为“Windows”。这可能是因为这将使安全性开箱即用,至少对于WCF服务和客户端而言。

如果你需要可以互操作,那么很容易改变它。您可以将其设置为以下任何一个:

  • Windows(默认)
  • 用户名
  • 证书
  • IssuedToken

有关详细信息,请参阅"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是一个更简单的绑定,可以在互操作场景中工作