Как получить файл wsdl с URL веб-сервиса

Я хочу получить файл WSDL для веб-службы, и единственное, что у меня есть, - это его URL (например, webservice.example/foo).

Если я использую URL-адрес напрямую, будет получен только ответ об ошибке.

5 ответов

Решение

Путем постфикса URL с ?WSDL

Если URL-адрес, например:

http://webservice.example:1234/foo

Ты используешь:

http://webservice.example:1234/foo?WSDL

И WSDL будет доставлен.

чтобы получить WSDL (Web Service Description Language) из URL-адреса веб-службы.

Возможно из SOAP Web Services:

http://www.w3schools.com/xml/tempconvert.asmx

чтобы получить WSDL, мы должны только добавить ?WSDL, например:

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 GetEnabled вместо httpGetEnabled.

Чтобы загрузить wsdl из URL-адреса с помощью командной строки разработчика для Visual Studio, запустите его в режиме администратора и введите следующую команду:

 svcutil /t:metadata http://[your-service-url-here]

Теперь вы можете использовать загруженный wsdl в своем проекте по своему усмотрению.

  1. изучите URL + ?wsdl:

    http://localhost:1234/sevice.aspx?WSDL

  2. щелкните правой кнопкой мыши на странице и выберите «Сохранить как…».

  3. Выберите формат XML и нажмите «Сохранить».

Другие вопросы по тегам