Accès aux en-têtes SOAP des messages WCF à l'aide des orchestrations
Pour accéder aux valeurs d’en-tête SOAP des messages WCF entrants dans les orchestrations, vous utilisez la propriété de contexte WCF. InboundHeaders. Les adaptateurs WCF copient les en-têtes SOAP personnalisés et les en-têtes SOAP standard dans les messages entrants vers WCF. Propriété InboundHeaders . Ils permettent également de sélectionner les propriétés que vous souhaitez promouvoir ou écrire vers les propriétés de contexte par programme. Pour plus d’informations, consultez En-têtes SOAP avec services WCF publiés .
La valeur contenue dans la propriété de contexte est une chaîne contenant des données XML avec l’élément < racine des en-têtes>, et les en-têtes SOAP entrants sont copiés en tant qu’éléments enfants de l’élément <headers>. Le moyen le plus simple d’accéder à ces données consiste à utiliser l’éditeur d’expression BizTalk dans une forme d’affectation de message ou d’expression , à charger la chaîne dans un XmlDocument et à utiliser des requêtes XPath pour accéder à des champs spécifiques. Pour plus d’informations sur la création de documents XML dans l’éditeur d’expressions BizTalk, consultez Langage XLANG-s.
L’exemple de code suivant obtient l’en-tête SOAP de la demande dans une forme d’affectation de message ou d’expression pour WCF. Propriété InboundHeaders :
stringVar = inboundMessageInstance(WCF.InboundHeaders);
Les propriétés de contexte sont associées à un message spécifique. Le moteur de messagerie ne mappe pas automatiquement les valeurs des en-têtes SOAP d'un message de requête vers un message de réponse. Lorsque vous créez le message de réponse pour un service WCF, vous devez définir spécifiquement les valeurs d’en-tête SOAP via WCF. Propriété OutboundCustomHeaders . La commande suivante constitue la méthode la plus simple pour configurer une propriété de contexte d'en-tête SOAP :
outboundMessageInstance(WCF.OutbounCustomHeaders) = "<headers><Origination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Home</Origination><Destination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Work</Destination></headers>"
Vous pouvez également définir la propriété de contexte en créant un XmlDocument et en écrivant la valeur de chaîne du XmlDocument dans la propriété de contexte.
Pour plus d’informations sur la façon d’accéder aux en-têtes SOAP avec les adaptateurs WCF, consultez l’exemple du KIT DE développement logiciel (SDK) « Utilisation d’en-têtes SOAP personnalisés avec les adaptateurs WCF » à l’adresse https://go.microsoft.com/fwlink/?LinkId=79960.
Voir aussi
Accès aux en-têtes SOAP dans les messages WCF avec les composants de pipeline Schéma de propriété adaptateurs WCF et propriétésEn-têtes SOAP avec les services WCF consommés