Web Services implementieren mit WSDL

Aufbau eines WSDL-Dokumentes

Um die Definition einer in WSDL spezifizierten Schnittstelle zu verstehen, sind gute XML-Kenntnisse notwendig. Das Grundprinzip aber lässt sich einfach skizzieren. Eine WSDL-Beschreibung ist hierarchisch aufgebaut und enthält mehrere Komponenten. Die wichtigsten sind die XML-Elemente <types>, <messages>, <porttype>, <binding> und <service>.

Die einzelnen Elemente sind einander hierarchisch zugeordnet. Die ersten drei Abschnitte (<types>, <message>, <portType>) nennt man den „abstrakten“ Teil, und die beiden letzten (<binding>, <service>) den „konkreten“ Teil einer WSDL-Beschreibung.

Im abstrakten Teil werden unabhängig von einem Protokoll oder Service die Operationen und verwendeten Datentypen beschrieben. Im konkreten Teil ist aufgeführt, über welche URI (Uniform Resource Identifier) und Protokolle ein Web Service erreicht werden kann und wie die Daten serialisiert und kodiert werden.

Struktur: Die zwei Blöcke und die Beziehungen zwischen den Elementen im Überblick. (Quelle: www.aifb.uni-karlsruhe.de)
Struktur: Die zwei Blöcke und die Beziehungen zwischen den Elementen im Überblick. (Quelle: www.aifb.uni-karlsruhe.de)

Das folgende Listing zeigt den strukturellen Aufbau noch einmal in explizitem XML-Code:

<definitions>
<types>
… hier werden die verwendeten Datentypen beschrieben
</types>
<message name=”KontoAnfrage”>
… hier werden die Parameter einer Nachricht beschrieben
</message>
<message name=”KontoAuskunft”> ... </message> …
<portType name=”KontoZugriffsPort”>
<operation name=”KontoZugriff”>
<input message=”KontoAnfrage” />
<output message=”KontoAuskunft” />
</operation> …
</portType> ...
<binding name=”KontoAuskunftSoap”> ... </binding>
<service name=”KontoAuskunftsService”> ... </service>
</definitions>