BasicHttpBinding和WsHttpBinding之间的代理

时间:2010-02-11 23:00:24

标签: c# php proxy basichttpbinding wshttpbinding

对于重要客户,我将在PHP中实现SoapClient以连接到WsHttpBinding中的.Net webservice设置。

我知道PHP SoapClient不支持它。所以我的目标是开发一个用C#编写的代理软件,它将成为BasicHttpBinding和WsHttpBinding之间的“桥梁”。 因此,PHP只与代理的BasicHttpBinding端进行通信,代理将使用WsHttpBinding将请求转换为真正的WS,并将答案转换为BasicHttpBinding格式的答案。

这是我的目标,但我只是从C#开始...所以我需要帮助才能做到这一点。

有人可以帮助我或给我建议吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以在WCF服务中公开两个端点:

<service name="MyCompany.MyService">
    <endpoint
      address="/advanced"
      binding="wsHttpBinding"
      contract="MyCompany.IMyContract" />
    <endpoint
      address="/simple"
      binding="basicHttpBinding"
      contract="MyCompany.IMyContract" />
    <endpoint
      address="mex"
      binding="mexHttpBinding"
      contract="IMetadataExchange"/>
  </service>

您的PHP客户端将指向http://mycompany.com/myservice.svc/simple,其他客户端指向http://mycompany.com/myservice.svc/advanced