Документация / WSDL
Операции
Операция в portType описывает обмен сообщениями между клиентом и сервисом. WSDL 1.1 определяет четыре вида
операций — по порядку элементов input и output:
| Вид | Элементы | Смысл |
|---|---|---|
| Односторонняя (one-way) | input | Клиент отправляет сообщение, ответа нет |
| Запрос-ответ (request-response) | input, output, fault* | Клиент отправляет запрос и получает ответ или ошибку |
| Требование-ответ (solicit-response) | output, input, fault* | Сервис сам отправляет сообщение и ждёт ответ |
| Уведомление (notification) | output | Сервис отправляет сообщение без ответа |
Привязки SOAP и HTTP в стандарте определены только для односторонних операций и запрос-ответ; два других вида на практике почти не встречаются.
<wsdl:portType name="OrdersPortType">
<wsdl:operation name="CreateOrder">
<wsdl:documentation>Создаёт заказ и возвращает его номер</wsdl:documentation>
<wsdl:input name="CreateOrderRequest" message="tns:CreateOrderRequest"/>
<wsdl:output name="CreateOrderResponse" message="tns:CreateOrderResponse"/>
<wsdl:fault name="ValidationFault" message="tns:ValidationFault"/>
</wsdl:operation>
<wsdl:operation name="NotifyShipment">
<wsdl:input message="tns:ShipmentNotice"/>
</wsdl:operation>
</wsdl:portType>
Ошибки (fault)
wsdl:fault описывает сообщение об ошибке, которое может вернуть операция. У каждой ошибки есть имя —
по нему ошибка связывается с описанием в привязке. Сообщение ошибки состоит из одной части: обычно это элемент
с кодом и текстом.
<wsdl:message name="ValidationFault">
<wsdl:part name="fault" element="tns:ValidationError"/>
</wsdl:message>
Имена входов и выходов
Атрибут name у input и output необязателен. Если его нет, имя строится из имени операции: CreateOrderRequest
и CreateOrderResponse для операции запрос-ответ. Имена нужны, если в portType несколько операций с одним
именем (перегрузка) — хотя перегрузки лучше избегать: многие инструменты её не поддерживают.
parameterOrder
Для операций в стиле rpc атрибут parameterOrder задаёт порядок параметров вызова — список имён частей через
пробел. В стиле document он не нужен.
Похожие инструменты
Обновлено: 30 сентября 2026 г.
