SOAP - Umschlag

Der SOAP-Umschlag zeigt den Beginn und das Ende der Nachricht an, damit der Empfänger weiß, wann eine gesamte Nachricht empfangen wurde. Der SOAP-Umschlag löst das Problem, zu wissen, wann Sie eine Nachricht empfangen haben und bereit sind, sie zu verarbeiten. Der SOAP-Umschlag ist daher grundsätzlich ein Verpackungsmechanismus.

Zu beachtende Punkte

  • Jede SOAP-Nachricht hat ein Root-Envelope-Element.

  • Umschlag ist ein obligatorischer Bestandteil der SOAP-Nachricht.

  • Jedes Envelope-Element muss genau ein Body-Element enthalten.

  • Wenn ein Umschlag ein Header-Element enthält, darf er nicht mehr als ein Element enthalten und als erstes untergeordnetes Element des Umschlags vor dem Text erscheinen.

  • Der Umschlag ändert sich, wenn sich die SOAP-Versionen ändern.

  • Der SOAP-Umschlag wird mit dem ENV- Namespace-Präfix und dem Envelope-Element angegeben.

  • Die optionale SOAP-Codierung wird auch mithilfe eines Namespace-Namens und des optionalen encodingStyle- Elements angegeben, die auch auf einen anderen Codierungsstil als den SOAP-Stil verweisen können.

  • Ein v1.1-kompatibler SOAP-Prozessor generiert einen Fehler beim Empfang einer Nachricht, die den v1.2-Umschlag-Namespace enthält.

  • Ein v1.2-kompatibler SOAP-Prozessor generiert einen VersionMismatch- Fehler, wenn er eine Nachricht empfängt, die den v1.2-Umschlag-Namespace nicht enthält.

v1.2-kompatible SOAP-Nachricht

Im Folgenden finden Sie ein Beispiel für eine v1.2-kompatible SOAP-Nachricht.

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

SOAP mit HTTP POST

Das folgende Beispiel zeigt die Verwendung einer SOAP-Nachricht innerhalb einer HTTP-POST-Operation, die die Nachricht an den Server sendet. Es zeigt die Namespaces für die Umschlagschemadefinition und für die Schemadefinition der Codierungsregeln. Die OrderEntry- Referenz im HTTP-Header ist der Name des Programms, das auf der Website tutorialspoint.com aufgerufen werden soll.

POST /OrderEntry HTTP/1.1
Host: www.tutorialspoint.com
Content-Type: application/soap;  charset="utf-8"
Content-Length: nnnn

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

NOTE - Die HTTP-Bindung gibt den Speicherort des Dienstes an.