SOAP - En-tête

L'élément facultatif Header offre un cadre flexible pour spécifier des exigences supplémentaires au niveau de l'application. Par exemple, l'élément Header peut être utilisé pour spécifier une signature numérique pour les services protégés par mot de passe. De même, il peut être utilisé pour spécifier un numéro de compte pour les services SOAP payants à l'utilisation.

Points à noter

  • Il s'agit d'une partie facultative d'un message SOAP.

  • Les éléments d'en-tête peuvent apparaître plusieurs fois.

  • Les en-têtes sont destinés à ajouter de nouvelles fonctionnalités et fonctionnalités.

  • L'en-tête SOAP contient des entrées d'en-tête définies dans un espace de noms.

  • L'en-tête est codé en tant que premier élément enfant immédiat de l'enveloppe SOAP.

  • Lorsque plusieurs en-têtes sont définis, tous les éléments enfants immédiats de l'en-tête SOAP sont interprétés comme des blocs d'en-tête SOAP.

Attributs d'en-tête SOAP

Un en-tête SOAP peut avoir les deux attributs suivants -

Attribut acteur

Le protocole SOAP définit un chemin de message comme une liste de nœuds de service SOAP. Chacun de ces nœuds intermédiaires peut effectuer un certain traitement, puis transmettre le message au nœud suivant de la chaîne. En définissant l'attribut Actor, le client peut spécifier le destinataire de l'en-tête SOAP.

Attribut MustUnderstand

Il indique si un élément Header est facultatif ou obligatoire. S'il est défini sur true, le destinataire doit comprendre et traiter l'attribut Header selon sa sémantique définie, ou renvoyer une erreur.

L'exemple suivant montre comment utiliser un en-tête dans un message 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>