Najnowsze tutoriale tworzenie stron internetowych
 

XML WSDL


  • WSDL oznacza Web Services Description Language
  • WSDL jest używany do określenia usług internetowych
  • WSDL jest napisane w XML
  • WSDL jest W3C zalecenie 26. czerwca 2007

Dokumenty WSDL

Dokument WSDL opisuje usługę internetową. Określa lokalizację usługi i metody usługi, wykorzystując te główne elementy:

Element Opis
<types> Definiuje (XML Schema) typy danych używanych przez usługę internetową
<message> Definiuje elementy danych dla każdej operacji
<portType> Opisuje operacje, które można wykonać, a komunikaty związane.
<binding> Definiuje protokół i danych formatu dla każdego typu portu

Podstawowa struktura dokumentu WSDL wygląda następująco:

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

Przykład WSDL

To jest uproszczony ułamek dokumencie 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 definiuje "glossaryTerms" jako nazwa port i "getTerm" jako imię w operation .

"getTerm" Operacja ma input message o nazwie "getTermRequest" oraz output message o nazwie "getTermResponse" .

<message> Elementy określenie parts każdego komunikatu i związanych z nimi typów danych.


<portType> Element

<portType> element definiuje a web service , na operations , które można wykonać, a messages , które są z tym związane.

Rodzaj żądanie-odpowiedź jest najczęstszym typem operacji, ale WSDL definiuje cztery rodzaje:

Rodzaj Definicja
One-way Operacja może otrzymać wiadomość, ale nie zwróci odpowiedź
Request-response Operacja może otrzymać prośbę i zwróci odpowiedź
Solicit-response Operacja może wysłać wniosek i będzie czekać na odpowiedź
Notification Operacja może wysłać wiadomość, ale nie będzie czekać na odpowiedź

WSDL One-Way Operacja

Jednokierunkowe przykład praca:

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

W powyższym przykładzie portType "glossaryTerms" definiuje działanie jednokierunkowe o nazwie "setTerm" .

"setTerm" Operacja umożliwia wprowadzanie nowych pojęć Słowniczek wiadomości za pomocą "newTermValues" wiadomość z parametrów wejściowych "term" i "value" . Jednakże, nie jest określona wyjściowa dla danej operacji.


WSDL Request-Response Operacja

Przykład z operacji żądanie-odpowiedź:

<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 powyższym przykładzie portType "glossaryTerms" definiuje operację żądanie-odpowiedź o nazwie "getTerm" .

"getTerm" Operacja wymaga komunikat wejściowy o nazwie "getTermRequest" z parametrem zwanym "term" , a zwróci komunikat wyjściowy o nazwie "getTermResponse" z parametrem zwanym "value" .


Wiązanie SOAP WSDL

Wiązania WSDL definiuje wiadomość formatu i protokołu dane dla usługi internetowej.

Przykład z operacji żądanie-odpowiedź:

<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 element ma dwa atrybuty - nazwę i typ.

name atrybutu (you can use any name you want) określa nazwę wiązania, a type punktów atrybut do portu do wiązania, w tym przypadku "glossaryTerms" portu.

soap:binding element ma dwa atrybuty - styl i transport.

style atrybut może być "rpc" lub "document" . W tym przypadku używamy dokument. transport atrybut definiuje protokół SOAP do użycia. W tym przypadku używamy HTTP.

operation element definiuje każdą operację że portType naraża.

Dla każdej operacji odpowiednia akcja SOAP musi być zdefiniowana. Należy także określić, w jaki sposób wejścia i wyjścia są kodowane. W tym przypadku używamy "literal" .