Ответ 1
Постерифицируя URL с помощью ?WSDL
Если URL-адрес, например:
http://webservice.example:1234/foo
Вы используете:
http://webservice.example:1234/foo?WSDL
И wsdl будет доставлен.
Я хочу получить файл WSDL для веб-службы, и единственное, что у меня есть, это его URL (например, webservice.example/foo).
Если я использую URL-адрес, то отправляется только ответ об ошибке.
Постерифицируя URL с помощью ?WSDL
Если URL-адрес, например:
http://webservice.example:1234/foo
Вы используете:
http://webservice.example:1234/foo?WSDL
И wsdl будет доставлен.
WSDL
(Web Service Description Language
) URL-адрес веб-службы.Возможно использование веб-служб SOAP:
http://www.w3schools.com/xml/tempconvert.asmx
чтобы получить WSDL, нам нужно добавить ?WSDL
, например:
Единственное, что можно получить WSDL, если веб-служба настроена для его доставки. Для этого вам нужно указать serviceBehavior и включить httpGetEnabled:
<serviceBehaviors>
<behavior name="BindingBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
Если веб-служба доступна только через https, вам нужно включить http s GetEnabled вместо httpGetEnabled.
Чтобы загрузить wsdl из URL-адреса с помощью командной строки разработчика для Visual Studio, запустите его в режиме администратора и введите следующую команду:
svcutil /t:metadata http://[your-service-url-here]
Теперь вы можете использовать загруженный wsdl в своем проекте по своему усмотрению.