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

92

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

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

Альфергон
источник

Ответы:

132

Путем постфиксации URL с помощью ?WSDL

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

http://webservice.example:1234/foo

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

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

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

Альфергон
источник
2
Иногда тоже заглавными буквами (WSDL)
Дэн
И если вы не получите wsdl, вы можете получить xml с ключом привязки или какой-то код проверки, который поможет вам составить фактический URL-адрес wsdl.
Часовщик
Есть идеи, как получить импортированные файлы xsd?
vikingsteve
Это не работает. Это мой URL-адрес веб-службы: prealert-test.customer-pages.com
1
? WSDL - это соглашение, за которым обычно следуют фреймворки и так далее. Если это не работает для вас, я думаю, вам следует найти что-то конкретное для используемого вами фреймворка.
Alfergon
26

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

Возможно из веб-служб SOAP:

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

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

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

Jorgesys
источник
1
Как получить данные по URL-адресу?
Джесси
2
Если вы хотите получить данные из SOAP, вы должны использовать этот инструмент soapui.org, он бесплатный и отлично работает.
Major
13

Получить WSDL можно только в том случае, если веб-сервис настроен на его доставку. Поэтому вам необходимо указать serviceBehavior и включить httpGetEnabled:

<serviceBehaviors>
    <behavior name="BindingBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
</serviceBehaviors>

Если веб-сервис доступен только через https, вам необходимо включить http s GetEnabled вместо httpGetEnabled.

Мануэль Кох
источник
5

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

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

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

Тальха Имам
источник