Документация WSDL

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

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

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

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

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

Основная структура документа WSDL resembles something like this:

<definitions>
<types>
   definición de tipos...
</types>
<message>
   definición de un mensaje...
</message>
<portType>
   definición de un puerto...
</portType>
<binding>
   definición de un vínculo...
</binding>
</definitions>

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

Для получения полной справки по грамматике обратитесь в Синтаксис WSDL Этот раздел.

Порт WSDL

<portType> Элемент является одним из самых важных элементов WSDL.

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

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

WSDL сообщения

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

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

WSDL types

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

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

WSDL Bindings

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