Dokument WSDL

Dokument WSDL to prosty dokument XML.

Zawiera serię definicji opisujących pewnego web service.

Struktura dokumentu WSDL

Dokument WSDL używa tych głównych elementów do opisu pewnego web service:

Element Definicja
<portType> Operacje wykonywane przez web service
<message> Wiadomości używane przez web service
<types> Typy danych używane przez web service
<binding> Protokół komunikacji używany przez web service

Główna struktura dokumentu WSDL wygląda mniej więcej tak:

<definitions>
<types>
   definicja typów...
</types>
<message>
   definicja wiadomości...
</message>
<portType>
   definicja portu...
</portType>
<binding>
   definicja bindingu...
</binding>
</definitions>

Dokument WSDL może zawierać inne elementy, takie jak element extension oraz element service, który może łączyć definicje kilku web service w jednym dokumencie WSDL.

Aby uzyskać pełne omówienie gramatyki, odwiedź Gramatyka WSDL Ten dział.

Port WSDL

<portType> Element jest najważniejszym elementem WSDL.

Opisuje ona web service, operacje do wykonania oraz związane z nimi wiadomości.

Element <portType> można porównać do biblioteki funkcji w tradycyjnym języku programowania (lub modułu, lub klasy).

Wiadomości WSDL

<message> Element definiuje dane operacji.

Każda wiadomość składa się z jednego lub kilku komponentów. Można te komponenty porównać do parametrów wywołania funkcji w tradycyjnym języku programowania.

Typy WSDL

<types> Element definiuje typy danych używane przez web service.

W celu maksymalnej neutralności platformowej, WSDL używa gramatyki XML Schema do definiowania typów danych.

Binds WSDL

<binding> Element definiuje format wiadomości i szczegóły protokołu dla każdego portu.

Przykład WSDL

Oto uproszczony fragment dokumentu 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>

W tym przykładzie:<portType> Element zdefiniowuje "glossaryTerms" jakoPortImię, zdefiniuj "getTerm" jakoOperacjaImię.

Operacja "getTerm" ma nazwę "getTermRequest".Wiadomość wejściowa, oraz wiadomość wejściowa o nazwie "getTermResponse".Wyjściowa wiadomość.

<message> Element może zdefiniować każdą wiadomośćCzęść, oraz powiązane typy danych.

W porównaniu do tradycyjnego programowania, glossaryTerms to biblioteka funkcji, a "getTerm" to funkcja z parametrami wejściowymi "getTermRequest" i parametrami wyjściowymi getTermResponse.