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