Последние учебники веб-разработки
×

XML Руководство

XML ГЛАВНАЯ XML Введение XML Как использовать XML дерево XML Синтаксис XML элементы XML Атрибуты XML Пространства имен XML дисплей XML XSLT XML XPath XML XLink XML Оценщик XML DTD XML схема XML сервер XML Приложения XML Примеры XML викторина XML сертификат

XML DOM

DOM вступление DOM Вершины DOM XMLHttpRequest DOM Доступ к DOM Узел информация DOM Список узлов DOM Пересекая DOM навигационный DOM Получить значения DOM Change Вершины DOM Remove Вершины DOM Replace Вершины DOM Create Вершины DOM Add Вершины DOM Clone Вершины DOM Примеры

DOM Справка

DOM Типы узлов DOM Узел DOM NodeList DOM NamedNodeMap DOM Документ DOM Элемент DOM Атрибут DOM Текст DOM CDATA DOM Комментарий DOM XMLHttpRequest DOM синтаксический анализатор

XML DTD

DTD вступление DTD Строительные блоки DTD элементы DTD Атрибуты DTD Элементы против Attr DTD юридические лица DTD Примеры

XSD Schema

XSD вступление XSD Как XSD <schema> XSD элементы XSD Атрибуты XSD ограничения

XSD Сложный

XSD элементы XSD пустой XSD Элементы только XSD Только текст XSD смешанный XSD индикаторы XSD <any> XSD <anyAttribute> XSD подмена XSD пример

XSD Data

XSD строка XSD Дата XSD числовой XSD Разное XSD Справка

Web Сервисы

XML Сервисы XML WSDL XML SOAP XML RDF XML RSS

 

XML WSDL


  • WSDL расшифровывается Web Services Description Language
  • WSDL используется для описания веб-служб
  • WSDL записывается в XML
  • WSDL является рекомендацией W3C от 26. Июнь 2007

WSDL Документы

WSDL документ описывает веб-службу. Он определяет местонахождение службы и методы обслуживания, используя эти основные элементы:

Элемент Описание
<types> Определяет (XML Schema) типы данных , используемые веб - службы
<message> Определяет элементы данных для каждой операции
<portType> Описывает операции, которые могут быть выполнены и сообщения, связанные.
<binding> Определяет формат протокола и данных для каждого типа порта

Основная структура документа WSDL выглядит следующим образом:

<definitions>

<types>
  data type definitions........
</types>

<message>
  definition of the data being communicated....
</message>

<portType>
  set of operations......
</portType>

<binding>
  protocol and data format specification....
</binding>

</definitions>

Пример 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" как имя port , и "getTerm" в качестве имени в operation .

"getTerm" операция имеет input message под названием "getTermRequest" и output message под названием "getTermResponse" .

<message> элементы определяют parts каждого сообщения и связанных с типами данных.


<portType> Элемент

<portType> элемент определяет a web service - operations messages a web service , то operations , которые могут быть выполнены, и messages , которые участвуют.

Тип запроса-ответа является наиболее распространенным типом операции, но WSDL определяет четыре типа:

Тип Определение
One-way Операция может получить сообщение, но не будет возвращать ответ
Request-response Операция может принимать запрос и возвратит ответ
Solicit-response Операция может послать запрос и будет ждать ответа
Notification Операция может послать сообщение, но не будет ждать ответа

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

В приведенном выше примере, PortType "glossaryTerms" определяет операцию в одну сторону под названием "setTerm" .

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


WSDL Request-Response Операция

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

<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" с параметром называется "term" , и будет возвращать выходное сообщение под названием "getTermResponse" с параметром называется "value" .


Связывание WSDL SOAP

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>

<binding type="glossaryTerms" name="b1">
   <soap:binding style="document"
   transport="http://schemas.xmlsoap.org/soap/http" />
   <operation>
     <soap:operation soapAction="http://example.com/getTerm"/>
     <input><soap:body use="literal"/></input>
     <output><soap:body use="literal"/></output>
  </operation>
</binding>

binding элемент имеет два атрибута - имя и тип.

name атрибута (you can use any name you want) определяет имя привязки, а type атрибут указывает на порт для связывания, в данном случае "glossaryTerms" порта.

soap:binding элемент имеет два атрибута - стиль и транспорт.

style атрибута может быть "rpc" или "document" . В этом случае мы используем документ. transport атрибут определяет протокол SOAP для использования. В этом случае мы используем HTTP.

operation элемент определяет каждую операцию , которая выставляет PortType.

Для каждой операции соответствующий SOAP-действие должно быть определено. Кроме того, необходимо указать, как входные и выходные данные кодируются. В этом случае мы используем "literal" .