WSDL Документ


Документ WSDL - это просто простой XML-документ.

Он содержит ряд определений, описывающих веб-сервис.


Структура WSDL-документа

Документы WSDL используют эти основные элементы для описания веб-службы:

Элемент Определение
<portType> Операции, выполняемые веб-службой
<message> Сообщения, используемые веб-службой
<types> Типы данных, используемые веб-службой
<binding> Протоколы связи, используемые веб-службой

Основная структура документа WSDL похожа на следующую:

Пример документа WSDL

<definitions> <types> определения типов данных........ </types> <message> определение передаваемых данных.... </message> <portType> набор операций...... </portType> <binding> спецификация протокола и формата данных.... </binding> </definitions>

Документ WSDL может содержать другие элементы, такие как элементы расширения, и элемент service. Этот элемент может объединять определения нескольких веб-сервисов в один документ WSDL.


Порт WSDL

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

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

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


Сообщение WSDL

<message>Этот элемент определяет элементы данных операции.

Каждое сообщение состоит из одной или нескольких частей. Эти части можно сравнить с параметрами вызова функции в традиционных языках программирования.


Типы WSDL

<types>Элемент определяет типы данных, используемые веб-службой.

Для максимальной независимости от платформы WSDL использует синтаксис XML Schema для определения типов данных.


Привязки WSDL

<binding>Элемент определяет формат сообщения и детали протокола для каждого порта.


Пример WSDL

Это упрощенный фрагмент документа WSDL:

Пример

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

В этом примере,<portType>Элемент определяет "glossaryTerms" как имя определенногопорта, и определяет "getTerm" как определеннуюоперациюимя.

Операция "getTerm" имеетвходное сообщение с именем "getTermRequest", ивыходное сообщение с именем "getTermResponse".。

<message>Элемент может определятьчастикаждого сообщения, и связанные типы данных.

По сравнению с традиционным программированием, glossaryTerms — это библиотека функций, а "getTerm" — это функция с входным параметром "getTermRequest" и возвращаемым параметром getTermResponse.

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