SOAP-описания WSDL
SOAP-сервисы на платформе создаются на основе WSDL (Web Services Description Language) — XML-документа, содержащего описание веб-сервиса.
Состав WSDL
Документы WSDL состоят из следующих разделов:
| Раздел | Версия 1.1 |
|---|---|
<definitions> |
Задает пространства имен для документа WSDL, XML-схемы и SOAP |
<types> |
Элементы (данные), с которыми работает веб-сервис |
<message> |
Сообщения, с которыми работает веб-сервис |
<portType> |
Операции, которые могут проводиться с сообщениями из раздела <message> |
<binding> |
Определение сетевого протокола и формат данных, используемых для операций из раздела <portType> |
<operation> |
Абстрактное определение операции (функции), в которой указываются входящее и исходящее сообщения, а так же сообщение об ошибке. |
<service> |
Объединяет конечные точки (адреса), реализующие общий интерфейс веб-сервиса. В разделе указывается общий адрес веб-сервиса |
<port> |
Протоколы и адреса, по которым выполняются запросы к веб-сервису |
Пространства имен для WSDL
Пространства имен подключаются через параметр xmlns.
Пример подключения:
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
name="esbExchange"
xmlns:tns="http://www.entaxy.ru/connector/universal/esb/1.0"
targetNamespace="http://www.entaxy.ru/connector/universal/esb/1.0"
xmlns:types="http://www.entaxy.ru/ExchangeTypes/1.0">
В примере есть новый параметр targetNamespace, необходимый для указания URI адреса пространства имен, к которому относится текущий документ. Важно не путать назначение targetNamespace и xmlns - первый относит файл к пространству имен, а второй (xmlns) служит для работы с пространствами имен внутри файла.
Загрузка спецификации
|
Имя загружаемого файла не должно содержать пробелов. |
Для создания SOAP-сервиса файл спецификации необходимо загрузить на платформу:
| В случае ошибок с загрузками описаний сервисов (wsdl, openapi) необходимо удалить одноименную служебную папку из подраздела 'service-resources' или перезагрузить описание сервиса с новым именем. |