SOAP – Simple Object Access Protocol

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 17 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

SOAP steht jetzt für SOAP!
Die W3C-Arbeitsgruppe hat entschieden, den Namen SOAP für die Spezifikation V1.2 zu übernehmen. In dieser Version steht SOAP nicht mehr als Akronym für Simple Object Access Protocol, sondern ist eine eigenständige Bezeichnung – also ab jetzt nur noch SOAP.

SOAP – Das Zugriffsprotokoll

SOAP ist ein Protokoll für den Austausch von strukturierten Daten zwischen verteilten Anwendungen. Es ist von großer Bedeutung bei Webanwendungen. Der Datenaustausch erfolgt mittels XML-Dokumenten. Das zu versendende Dokument wird bei SOAP mit einen „Umschlag“ versehen, der die eigentlichen Daten mit den Verwaltungsinforationen anreichert. Nachrichten auf der Basis SOAP können mit jedem herkömmlichen Protokoll der Transport- und Anwendungsschicht (vgl. TCP/IP-Referenzmodell) versendet werden (z.B. http, https, SSL). Die gängigste Kombination ist SOAP über http und TCP. Außerdem kann SOAP in jede Programmiersprache implementiert werden und ist plattformunabhängig. Daraus resultiert die hohe Geschwindigkeit und die breite Akzeptanz. Ursprünglich war SOAP die Abkürzung für Simple Object Access Protocol (Einfaches Objekt-Zugriffs-Protokoll), seit Version 1.2 ist SOAP jedoch offiziell keine Abkürzung mehr, da es nicht (nur) dem Zugriff auf Objekte dient.

Der Aufbau der SOAP-Nachricht

Aufbau einer SOAP-Nachricht
Aufbau einer SOAP-Nachricht

In jeder SOAP-Nachricht ist ein XML-Dokument enthalten, welches einen Umschlag (SOAP Envelope), einen optionalen Kopf (SOAP Header) und einen Datenbereich (SOAP Body) enthält.
Das Envelope umschließt die Nachricht wie ein Umschlag und muss in jeder Nachricht enthalten sein. In diesem Umschlag wird unter anderem angegeben: was in der Nachricht enthalten ist; von wem sie erarbeitet werden soll (URL der Zielapplikation) und welche Angaben der Nachricht optional sind.
Der Header, der Kopf der Nachricht, ist optional und dient für zusätzliche Informationen. Durch ihn kann die Funktionalität der Nachricht erweitert werden, welche im Vorfeld nicht zwischen den Applikationen vereinbart worden ist. Dabei werden bestimmt Attribute definiert.
Der Body, die eigentliche Nachricht, ist dagegen nicht optional und muss in jeder Nachricht vorhanden sein. Er beinhaltet die eigentlichen Informationen, die für den Empfänger gedacht sind. Im Body können beliebig viele Sub-Elemente vorhanden sein, in denen die bestimmten Parameter vorhanden sind.

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.

Ein Kommentar

Kommentare sind geschlossen.