Compartir vía


Obtener acceso a encabezados SOAP en mensajes WCF con orquestaciones

Para tener acceso a los valores de encabezado SOAP de los mensajes WCF entrantes en orquestaciones, use la propiedad de contexto WCF. InboundHeaders. Los adaptadores de WCF copian encabezados SOAP personalizados y encabezados SOAP estándar en los mensajes entrantes en WCF. Propiedad InboundHeaders . Además, los adaptadores de WCF permiten seleccionar las propiedades que desee promocionar o escribir en las propiedades de contexto mediante programación. Consulte Encabezados SOAP con servicios WCF publicados para obtener más detalles.

El valor contenido en la propiedad de contexto es una cadena que contiene datos XML con el < elemento raíz de encabezados> y los encabezados SOAP entrantes se copian como elementos secundarios del < elemento headers>. La manera más sencilla de acceder a estos datos es usar el Editor de expresiones de BizTalk en una forma de asignación de mensajes o expresión , cargar la cadena en un xmlDocument y usar consultas XPath para tener acceso a campos específicos. Para obtener más información sobre cómo crear documentos XML en el Editor de expresiones de BizTalk, vea Lenguaje XLANG-s.

En el ejemplo de código siguiente se obtiene el encabezado SOAP de solicitud en una forma de asignación de mensajes o expresión para WCF. Propiedad InboundHeaders :

stringVar = inboundMessageInstance(WCF.InboundHeaders);

Las propiedades de contexto están asociadas con un mensaje concreto. El motor de mensajería no asigna automáticamente los valores de los encabezados SOAP desde el mensaje de solicitud al mensaje de respuesta. Al crear el mensaje de respuesta para un servicio WCF, debe establecer específicamente los valores de encabezado SOAP a través de WCF. Propiedad OutboundCustomHeaders . El siguiente comando es el método más sencillo de establecer una propiedad de contexto de encabezado SOAP:

outboundMessageInstance(WCF.OutbounCustomHeaders) = "<headers><Origination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Home</Origination><Destination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Work</Destination></headers>"

También puede establecer la propiedad de contexto creando un XmlDocument y escribiendo el valor de cadena de XmlDocument en la propiedad de contexto.

Para obtener más información sobre cómo obtener acceso a los encabezados SOAP con los adaptadores WCF, vea el ejemplo del SDK "Uso de encabezados SOAP personalizados con los adaptadores WCF" en https://go.microsoft.com/fwlink/?LinkId=79960.

Consulte también

Acceso a encabezados SOAP en mensajes WCF con componentes de canalizaciónAdaptadores de WCF Esquema de propiedades y Encabezados SOAP de propiedadescon servicios WCF consumidos