Школы W3C

Школа WSDL
Начало
Введение в WSDL
Документы WSDL
Порты WSDL
Связи WSDL
WSDL и UDDI
Синтаксис WSDL
Ресурсы по WSDL

Порты WSDL

Назад Вперед

Порты WSDL описывают интерфейс (список допустимых операций) работы с web-сервисом.


Порты WSDL

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

Он определяет web-сервис, выполняемые им операции и допустимые сообщения

Порт определяет точку монтирования к web-сервису. Его можно сравнить с библиотекой функций (модулем, классом) в традиционном языке программирования, а каждую операцию можно сравнить с функцией в традиционном языке программирования.


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

Запрос-ответ (request-response) --- самый распространенный тип операций. Всего же в WSDL определено четыре типа:

Тип Описание
Однонаправленный (One-way) Операция может принимать сообщение, но не будет возвращать ответ
Запрос-ответ (Request-response) Операция может принимать запрос и возвратит ответ
Вопрос-ответ (Solicit-response) Операция может послать запрос и будет ждать ответ
Извещение (Notification) Операция может послать сообщение, но не будет ожидать ответ

Однонаправленная (One-Way) Операция

Пример однонаправленной операции:

<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".


Назад Вперед