Документация / 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 г.