SOAP - Intestazione

L'elemento Header opzionale offre un framework flessibile per specificare requisiti aggiuntivi a livello di applicazione. Ad esempio, l'elemento Header può essere utilizzato per specificare una firma digitale per i servizi protetti da password. Allo stesso modo, può essere utilizzato per specificare un numero di conto per i servizi SOAP pay-per-use.

Punti da notare

  • È una parte facoltativa di un messaggio SOAP.

  • Gli elementi di intestazione possono essere presenti più volte.

  • Le intestazioni hanno lo scopo di aggiungere nuove caratteristiche e funzionalità.

  • L'intestazione SOAP contiene le voci di intestazione definite in uno spazio dei nomi.

  • L'intestazione è codificata come il primo elemento figlio immediato della busta SOAP.

  • Quando vengono definite più intestazioni, tutti gli elementi figlio immediati dell'intestazione SOAP vengono interpretati come blocchi di intestazione SOAP.

Attributi dell'intestazione SOAP

Un'intestazione SOAP può avere i seguenti due attributi:

Attributo attore

Il protocollo SOAP definisce un percorso di messaggio come un elenco di nodi del servizio SOAP. Ciascuno di questi nodi intermedi può eseguire alcune elaborazioni e quindi inoltrare il messaggio al nodo successivo della catena. Impostando l'attributo Actor, il client può specificare il destinatario dell'intestazione SOAP.

Attributo MustUnderstand

Indica se un elemento di intestazione è facoltativo o obbligatorio. Se impostato su true, il destinatario deve comprendere ed elaborare l'attributo Header in base alla semantica definita o restituire un errore.

L'esempio seguente mostra come utilizzare un'intestazione in un messaggio SOAP.

<?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">

   <SOAP-ENV:Header>
      <t:Transaction 
         xmlns:t = "http://www.tutorialspoint.com/transaction/" 
         SOAP-ENV:mustUnderstand = "true">5
      </t:Transaction>
   </SOAP-ENV:Header>
   ...
   ...
</SOAP-ENV:Envelope>