SAPONE - Busta

La busta SOAP indica l'inizio e la fine del messaggio in modo che il destinatario sappia quando è stato ricevuto un intero messaggio. La busta SOAP risolve il problema di sapere quando hai finito di ricevere un messaggio e sei pronto per elaborarlo. La busta SOAP è quindi fondamentalmente un meccanismo di confezionamento.

Punti da notare

  • Ogni messaggio SOAP ha un elemento Envelope radice.

  • La busta è una parte obbligatoria del messaggio SOAP.

  • Ogni elemento Envelope deve contenere esattamente un elemento Body.

  • Se un Envelope contiene un elemento Header, non deve contenerne più di uno e deve apparire come il primo figlio dell'Envelope, prima del Corpo.

  • La busta cambia quando cambiano le versioni SOAP.

  • La busta SOAP viene specificata utilizzando il prefisso dello spazio dei nomi ENV e l'elemento Envelope.

  • La codifica SOAP facoltativa viene anche specificata utilizzando un nome spazio dei nomi e l' elemento encodingStyle facoltativo , che potrebbe anche puntare a uno stile di codifica diverso da quello SOAP.

  • Un processore SOAP conforme alla v1.1 genera un errore alla ricezione di un messaggio contenente lo spazio dei nomi della busta v1.2.

  • Un processore SOAP conforme alla v1.2 genera un errore VersionMismatch se riceve un messaggio che non include lo spazio dei nomi della busta v1.2.

Messaggio SOAP conforme alla v1.2

Di seguito è riportato un esempio di messaggio SOAP conforme alla v1.2.

<?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 con HTTP POST

Il seguente esempio illustra l'uso di un messaggio SOAP all'interno di un'operazione HTTP POST, che invia il messaggio al server. Mostra gli spazi dei nomi per la definizione dello schema della busta e per la definizione dello schema delle regole di codifica. Il riferimento OrderEntry nell'intestazione HTTP è il nome del programma da richiamare sul sito Web tutorialspoint.com.

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 - L'associazione HTTP specifica la posizione del servizio.