Nachrichten verschicken mit SOAP - Die SOAP-Spezifikation

SOAP-Nachricht mit HTTP Request

Die Übertragung von SOAP-Nachrichten über HTTP folgt dem Request-Response Muster. Dabei werden eine SOAP-Request-Nachricht im HTTP-Request und die SOAP-Response-Nachricht im HTTP-Response übermittelt. Intermediary-Funktionen werden von der Laufzeitumgebung am Empfängerknoten übernommen, da das SOAP-intermediary-node-Konzept nicht von HTTP übernommen werden kann.

Zur Übermittlung einfacher Kontext-Informationen an die Web-Services des Empfängers kann das SOAP-action-Feld im HTTP-Header verwendet werden. Die Beantwortung einer SOAP-Nachricht durch die SOAP-HTTP-Response erfolgt in Form der HTTP-Status-Codes. Ein 2xx Status-Code bedeutet beispielsweise die erfolgreiche Abarbeitung der SOAP-Nachricht. Tritt ein Fehler beider Bearbeitung der Nachricht auf, enthält der Response den HTTP-500-„Internal Server Error“-Code und eine SOAP-Nachricht mit den entsprechenden SOAP-Fehlermeldungen im Anhang.

Es können auch andere Bindings für SOAP verwendet werden. Die Security-Erweiterung SSL von HTTPs erlauben eine einfache Möglichkeit, SOAP-Nachrichten in ein sicheres Umfeld einzubetten. Eine weitere Option ist, SOAP-Nachrichten über das SMTP-Protokoll zu transportieren. Dies ermöglicht asynchronen Datenaustausch zwischen Web-Services. Asynchrone Kommunikation ist in vielen B2B-Szenarien die geeignete und explizit erwünschte Art des Nachrichtenaustausches.

Die Kommunikation über Java Messaging Service (JMS) erlaubt die Integration von Web-Services in Business-Anwendungen der J2EEPlattformen. Enterprise-Java-Beans(EJB)-Aufrufe aus Web-Services und umgekehrt werden dadurch ermöglicht.