Прокси между BasicHttpBinding и WsHttpBinding - PullRequest
0 голосов
/ 12 февраля 2010

Для важного клиента я должен реализовать SoapClient на PHP для подключения к настройке веб-сервиса .Net в WsHttpBinding.

Я знаю, что PHP SoapClient не поддерживает его. Поэтому моя цель - разработать прокси-программу, написанную на C #, которая будет «мостом» между BasicHttpBinding и WsHttpBinding. Таким образом, PHP будет взаимодействовать только со стороной BasicHttpBinding прокси, прокси будет преобразовывать запрос в реальный WS с помощью WsHttpBinding и возвращать PHP ответ в формате BasicHttpBinding.

Это моя цель, но я только начинаю в C # ... поэтому мне нужна помощь, чтобы сделать это.

Кто-то может мне помочь или дать совет?

Спасибо

1 Ответ

1 голос
/ 12 февраля 2010

Вы можете выставить две конечные точки в своей службе 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.

...