Почему я должен добавить ссылку на URL / service.svc, но тогда он создает привязку для URL / service.svc / soap? - PullRequest
0 голосов
/ 05 октября 2011

Я подключаю решение к веб-службе на основе WCF SOAP.URL-адрес имеет формат:

http://upload.pete.vls.com/api/hmlapi.svc

Однако, когда я добавляю ссылку, конфигурация выглядит следующим образом:

<client>
    <endpoint address="http://upload.pete.vls.com/api/HmlApi.svc/soap"
                    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IHmlApi"
                    contract="ServiceReference1.IHmlApi" name="BasicHttpBinding_IHmlApi" />
</client>

Я не совсем понимаю, почему, когда я добавляю ссылку с / soap / в конце, она не работает.Но когда я не добавляю его, функция «добавить ссылку» находит сервис и добавляет его с помощью / soap / в любом случае.

Ответы [ 2 ]

1 голос
/ 05 октября 2011

URL-адрес, который вы вводите (без части soap), содержит информацию о том, какие виды услуг предлагаются. VS выбирает soap из этого и сохраняет правильный адрес конечной точки в конфигурации.

Этот конечный URL-адрес не будет правильным для того, что запрашивается, когда вас попросят. Потому что он ожидает URL с информацией об услуге, а не фактическую конечную точку, которая в конечном итоге будет использоваться.

0 голосов
/ 05 октября 2011

Поскольку ваша конечная точка на сервере, вероятно, настроена так

<services>
  <service name="YourService">
    <endpoint name="mySOAPEndpoint" address="soap" binding="someHttpBinding" contract="IYourService" />
  </service>
</services>

Обратите внимание, что адрес является "мылом", который является относительным путем после вашего URI службы (т.е. после .svc). Если вы напишите address = "", то ваш .svc URI будет таким же, как ваш адрес конечной точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...