SOAP - Cabeçalho

O elemento opcional Header oferece uma estrutura flexível para especificar requisitos adicionais de nível de aplicativo. Por exemplo, o elemento Header pode ser usado para especificar uma assinatura digital para serviços protegidos por senha. Da mesma forma, pode ser usado para especificar um número de conta para serviços SOAP pay-per-use.

Pontos a serem observados

  • É uma parte opcional de uma mensagem SOAP.

  • Os elementos do cabeçalho podem ocorrer várias vezes.

  • Os cabeçalhos têm como objetivo adicionar novos recursos e funcionalidades.

  • O cabeçalho SOAP contém entradas de cabeçalho definidas em um namespace.

  • O cabeçalho é codificado como o primeiro elemento filho imediato do envelope SOAP.

  • Quando vários cabeçalhos são definidos, todos os elementos filho imediatos do cabeçalho SOAP são interpretados como blocos de cabeçalho SOAP.

Atributos do cabeçalho SOAP

Um cabeçalho SOAP pode ter os dois atributos a seguir -

Atributo de ator

O protocolo SOAP define um caminho de mensagem como uma lista de nós de serviço SOAP. Cada um desses nós intermediários pode realizar algum processamento e, em seguida, encaminhar a mensagem para o próximo nó da cadeia. Ao definir o atributo Ator, o cliente pode especificar o destinatário do cabeçalho SOAP.

Atributo MustUnderstand

Indica se um elemento Header é opcional ou obrigatório. Se definido como verdadeiro, o destinatário deve compreender e processar o atributo Header de acordo com sua semântica definida ou retornar uma falha.

O exemplo a seguir mostra como usar um cabeçalho em uma mensagem 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>