Nachrichten verschicken mit SOAP - Die SOAP-Spezifikation

Bearbeitung einer SOAP-Nachricht

Bislang wurde geklärt, was mit einem SOAP-Aufruf übertragen werden kann. Die zweite Frage ist, wie die Nachricht zum Empfänger kommt.

Die Bearbeitung einer SOAP-Nachricht erfolgt durch eine „Schritt-für-Schritt“ Versendung entlang eines so genannten Nachrichtenpfades. Der erste Knoten des Nachrichtenpfades ist dabei der „initial SOAP sender“, also der Knoten, von dem die Nachricht ursprünglich gesendet wurde. Der letzte Knoten in der Kette heißt „ultimate SOAP receiver“.

Alle dazwischen liegenden Knoten übernehmen die Aufgabe eines SOAP-Vermittlers („intermediary“). Jedem Knoten kann dabei eine bestimmte Rolle zugeordnet werden, die eindeutig durch einen URI identifiziert werden kann. Zumindest die spezielle Rolle "HTTP://www.w3.org/2001/09/soap-envelope/actor/next" muss von jedem Vermittler-Knoten erfüllt werden. Sie drückt aus, dass der Knoten als Folgeknoten in dem Nachrichten-Pfad angesprochen werden kann. Zwischenknoten können zusätzlich noch beliebige weitere Rollen erfüllen.

Die Identifikation der Knoten und hier besonders die des Endknotens erfolgt über die Identifizierungsmechanismen der darunter liegenden Knoten. Im Falle von TCP bzw. HTTP entspricht dies der IP-Adresse oder der URL. Jeder Knoten, der eine Nachricht erhält, muss in gewisser Weise darauf reagieren. Das heißt, er muss entweder die Nachricht bearbeiten, beantworten oder einen SOAP-Fehler auslösen.