Schnittstellensprache für SOAP

Einführung

SOAP (Simple Object Access Protocol) ist ein Protokoll zur Kommunikation zwischen verteilten Systemen über HTTP. Es basiert auf XML und ermöglicht den Austausch strukturierter Informationen zwischen Webservices. Um die Schnittstellen dieser Webservices genau zu definieren, wird eine spezielle Schnittstellensprache verwendet.

WSDL als Schnittstellensprache

Die Web Services Description Language (WSDL) ist die standardisierte Sprache zur Beschreibung von SOAP-Webservices. Sie definiert die angebotenen Funktionen, die benötigten Parameter und die Rückgabetypen. WSDL ermöglicht es, Webservices unabhängig von der Implementierung zu beschreiben, was die Interoperabilität zwischen unterschiedlichen Systemen fördert.

Aufbau eines WSDL-Dokuments

Ein WSDL-Dokument besteht aus mehreren Hauptelementen:

  • Types: Definiert die verwendeten Datentypen mittels XML Schema Definition (XSD).
  • Message: Beschreibt die Datenstrukturen der ein- und ausgehenden Nachrichten.
  • PortType: Bündelt die Operationen, die der Service anbietet.
  • Binding: Spezifiziert das Protokoll und die Datenformate für die Kommunikation.
  • Service: Gibt die Endpunkte (URLs) an, unter denen der Service erreichbar ist.

Komponenten im Detail

Types

Im Types-Element werden die Datentypen definiert, die in den Nachrichten verwendet werden. Meistens wird hierfür XSD eingesetzt, um komplexe Datenstrukturen abzubilden.

<types>
  <xsd:schema targetNamespace="http://example.com/schema">
    <!-- Definition von komplexen Datentypen -->
  </xsd:schema>
</types>

Message

Das Message-Element beschreibt die einzelnen Nachrichten, die zwischen Client und Service ausgetauscht werden.

<message name="GetUserRequest">
  <part name="userId" type="xsd:string"/>
</message>

PortType

PortType fasst die angebotenen Operationen zusammen und definiert deren Ein- und Ausgaben.

<portType name="UserServicePortType">
  <operation name="GetUser">
    <input message="tns:GetUserRequest"/>
    <output message="tns:GetUserResponse"/>
  </operation>
</portType>

Binding

Im Binding-Element wird festgelegt, welches Protokoll und welches Datenformat verwendet wird, z.B. SOAP über HTTP.

<binding name="UserServiceBinding" type="tns:UserServicePortType">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  <!-- Definition der Operationen -->
</binding>

Service

Das Service-Element enthält die konkreten Endpunkte, an denen der Service erreichbar ist.

<service name="UserService">
  <port name="UserServicePort" binding="tns:UserServiceBinding">
    <soap:address location="http://example.com/UserService"/>
  </port>
</service>

Vorteile der Verwendung von WSDL

  • Standardisierung: Einheitliche Beschreibung von Webservices ermöglicht eine breite Kompatibilität.
  • Automatisierung: Tools können aus WSDL-Dokumenten automatisch Client-Code generieren.
  • Klarheit: Klare Definition der Schnittstellen erleichtert die Entwicklung und Wartung.

Fazit

Die WSDL spielt eine zentrale Rolle bei der Definition von SOAP-Webservices. Durch die genaue Beschreibung der Schnittstellen wird eine nahtlose Integration zwischen unterschiedlichen Systemen ermöglicht.

Schlagwörter (Tags)

SOAPWSDLWebservicesSchnittstellenbeschreibungXMLIntegrationWebServiceDefinition

AVSW-Overview