WSDL Document

Een WSDL-document is een eenvoudig XML-document.

Het bevat een reeks definities die een web service beschrijven.

structuur van een WSDL-document

Een WSDL-document beschrijft een web service met behulp van deze hoofd-elementen:

element definitie
<portType> operaties die het web service uitvoert
<message> berichten die het web service gebruikt
<types> datatypen die het web service gebruikt
<binding> communicatieprotocol dat het web service gebruikt

De hoofdsstructuur van een WSDL-document ziet er ongeveer zo uit:

<definitions>
<types>
   definitie van types........
</types>
<message>
   definitie van een bericht......
</message>
<portType>
   definitie van een poort......
</portType>
<binding>
   definitie van een binding...
</binding>
</definitions>

Een WSDL-document kan andere elementen bevatten, zoals het extension-element, en een service-element, dat de definities van meerdere web services combineert in een enkele WSDL-document.

Voor een volledige grammaticale samenvatting, bezoek WSDL Syntax Dit hoofdstuk.

WSDL Poort

<portType> Het element is de belangrijkste WSDL-element.

Het beschrijft een web service, uitvoerbare operaties en de bijbehorende berichten.

Het element <portType> kan worden vergeleken met een bibliotheek in een traditionele programmeertaal (of een module, of een klasse).

WSDL berichten

<message> Het element definieert de dataelementen van een operatie.

Elke bericht bestaat uit een of meerdere componenten. Deze componenten kunnen worden vergeleken met de parameters van een functie-aanroep in een traditionele programmeertaal.

WSDL types

<types> Het element definieert de datatypen die het web service gebruikt.

Om de maximale platformonafhankelijkheid te waarborgen, gebruikt WSDL de XML Schema-sintaxis om datatypen te definiëren.

WSDL Bindings

<binding> Het element definieert het berichtformaat en de protocoldetails voor elke poort.

WSDL voorbeeld

Dit is een vereenvoudigd fragment van een WSDL-document:

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

In dit voorbeeld<portType> Element definieert 'glossaryTerms' als eenPoortdefinieert 'getTerm' als eenNaamNaam.

De operatie 'getTerm' heeft een naam genaamd 'getTermRequest'.Ingangbericht, en een ingangbericht genaamd 'getTermResponse'.Uitvoerbericht.

<message> Een element kan elke berichtdefinitie definiërenComponent, evenals gerelateerde datatypes.

In vergelijking met traditioneel programmeren is glossaryTerms een bibliotheek, en 'getTerm' is een functie met de invoerparameter 'getTermRequest' en de retourparameter getTermResponse.