WSDL Порт


<portType>Этот элемент — самый важный элемент WSDL.


Порт WSDL

<portType>Этот элемент — самый важный элемент WSDL.

Он может описывать веб-сервис, операции, которые могут быть выполнены, и связанные сообщения.

Элемент <portType> можно сравнить с библиотекой функций (или модулем, или классом) в традиционном языке программирования.


Типы операций

Запрос-Ответ — наиболее распространённый тип операции, но WSDL определяет четыре типа:

Type Определение
Односторонний Эта операция может принимать сообщение, но не возвращает ответ.
Запрос-ответ Эта операция может принимать запрос и возвращать ответ.
Solicit-response Эта операция может отправлять запрос и ожидать ответ.
Уведомление Эта операция может отправлять сообщение, но не ожидает ответ.


Односторонняя операция

Пример односторонней операции:

Пример

<message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType >

В этом примере порт "glossaryTerms" определяет одностороннюю операцию с именем "setTerm".

Эта операция "setTerm" принимает входные сообщения для новых записей терминов глоссария, которые используют сообщение с именем "newTermValues", с входными параметрами "term" и "value". Однако для этой операции выходные данные не определены.


Операция запрос-ответ

Пример операции запрос-ответ:

Пример

<message name="getTermRequest"> <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>

В этом примере порт "glossaryTerms" определяет операцию запрос-ответ с именем "getTerm".

Операция "getTerm" запрашивает входное сообщение с именем "getTermRequest", которое имеет параметр с именем "term", и вернёт выходное сообщение с именем "getTermResponse", которое имеет параметр с именем "value".

Другие расширения