Як отримати файл 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” - це домовленість, за якою зазвичай дотримуються рамки тощо. Якщо це не працює для вас, я думаю, ви повинні знайти щось конкретне для фреймворку, який ви використовуєте.
Альфергон

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


1
Як ви отримаєте деякі дані за допомогою URL-адреси?
Джессі,

2
Якщо ви хочете отримати дані з SOAP, вам слід скористатися цим інструментом soapui.org, він безкоштовний і чудово працює.
майор

13

Отримати WSDL можливо лише в тому випадку, якщо веб-служба налаштована на його доставку. Для цього вам потрібно вказати serviceBehaviour і увімкнути 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 у своєму проекті, як вважаєте за потрібне.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.