SOAP - Encabezado

El elemento de encabezado opcional ofrece un marco flexible para especificar requisitos adicionales a nivel de aplicación. Por ejemplo, el elemento Encabezado se puede utilizar para especificar una firma digital para servicios protegidos por contraseña. Asimismo, se puede utilizar para especificar un número de cuenta para los servicios SOAP de pago por uso.

Puntos a tener en cuenta

  • Es una parte opcional de un mensaje SOAP.

  • Los elementos de encabezado pueden aparecer varias veces.

  • Los encabezados están destinados a agregar nuevas características y funcionalidades.

  • El encabezado SOAP contiene entradas de encabezado definidas en un espacio de nombres.

  • El encabezado está codificado como el primer elemento secundario inmediato del sobre SOAP.

  • Cuando se definen varios encabezados, todos los elementos secundarios inmediatos del encabezado SOAP se interpretan como bloques de encabezado SOAP.

Atributos de encabezado SOAP

Un encabezado SOAP puede tener los siguientes dos atributos:

Atributo actor

El protocolo SOAP define una ruta de mensaje como una lista de nodos de servicio SOAP. Cada uno de estos nodos intermedios puede realizar algún procesamiento y luego reenviar el mensaje al siguiente nodo de la cadena. Al establecer el atributo Actor, el cliente puede especificar el destinatario del encabezado SOAP.

Atributo MustUnderstand

Indica si un elemento de encabezado es opcional u obligatorio. Si se establece en verdadero, el destinatario debe comprender y procesar el atributo Encabezado de acuerdo con su semántica definida o devolver un error.

El siguiente ejemplo muestra cómo utilizar un encabezado en un mensaje 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>