Я хочу получить файл 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 в своем проекте по своему усмотрению.