Compartir vía


Cómo usar propiedades de contexto de mensaje

Las propiedades del sistema se utilizan principalmente de manera interna por el motor de mensajería de BizTalk y sus componentes. En general, no se recomienda cambiar los valores establecidos por el motor para esas propiedades, ya que puede afectar a la lógica de ejecución del motor. Sin embargo, hay un gran número de propiedades que usted puede cambiar.

La tabla siguiente contiene una lista de propiedades de contexto de mensaje que el motor de mensajería puede promover. Puede usar estas propiedades para crear expresiones de filtro en puertos de envío y orquestaciones en Microsoft BizTalk Server. Por ejemplo

PortName = MyMessage(BTS.ReceivePortName);  
MyFileName = MyMessage(FILE.ReceivedFileName);  
MySubject= MyMessage(POP3.Subject);  

En una tabla independiente se enumeran propiedades adicionales que pueden ser de uso en algunas aplicaciones de BizTalk que no se pueden promocionar.

Propiedad Cuándo y dónde se promueve Tipo Descripción
BTS. AckFailureCategory Elevado por el motor de mensajería antes de publicar un mensaje de reconocimiento en la base de datos MessageBox. xs:int Identifica el errorCategory, que proporciona el lugar y el motivo de la suspensión.
BTS.AckFailureCode Promocionado por el motor de mensajería antes de publicar un mensaje de acuse de recibo en la base de datos MessageBox. xs:string Identifica el Código de error, que proporciona el lugar y el motivo de la suspensión.
BTS.AckID Promocionado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos cuadro de mensajes. xs:string Identifica el MessageID del mensaje original.
BTS. AckInboundTransportLocation Promocionado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos MessageBox. xs:string Identifica el InboundTransportLocation del mensaje original.
BTS. AckOutboundTransportLocation Promocionado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos MessageBox. xs:string Identifica OutboundTransportLocation del mensaje original.
BTS.AckOwnerID Promocionado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos cuadro de mensajes. xs:string Identifica el identificador de instancia del mensaje original.
BTS.AckReceivePortID Promovido por el Motor de Mensajería antes de publicar un mensaje de confirmación en la base de datos MessageBox. xs:string Identifica el ReceivePortID del mensaje original.
BTS. AckReceivePortName Promocionado por el motor de mensajería para el mensaje de confirmación. xs:string Identifica el ReceivePortName del mensaje original.
BTS.AckSendPortID Promocionado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos MessageBox. xs:string Identifica el SendPortID del mensaje original.
BTS.AckSendPortName Activado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos MessageBox. xs:string Identifica el SendPortName del mensaje original.
BTS.AckType Promocionado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos cuadro de mensajes. xs:string Permite la monitorización de confirmaciones y no confirmaciones por parte de una orquestación. El valor será ACK para una confirmación y NACK para una confirmación negativa.
BTS.ActionOnFailure Un adaptador puede establecer esta propiedad antes de llamar a IBTTTransportBatch::SubmitMessage() API para enviar el mensaje a BizTalk. xs:int Controla el comportamiento del motor de mensajería cuando se produce un error en la canalización de recepción. Normalmente, el motor de mensajería suspende los mensajes con errores; sin embargo, algunos adaptadores (como HTTP) notificarían el error al cliente en lugar de suspender el mensaje en un error de canalización de recepción.

Valores válidos:

-Predeterminado. Si la propiedad no existe, el motor de mensajería intentará suspender automáticamente el mensaje.
- 0. Indica que el motor de mensajería no debe suspender automáticamente el motor.

Otros valores están reservados para uso futuro.
BTS. CorrelationToken Si esta propiedad se establece en el contexto del mensaje, el motor de mensajería promueve esta propiedad. Esta propiedad se establece en un contexto implícitamente cuando el adaptador de solicitud-respuesta o una orquestación envía un mensaje de solicitud a la base de datos MessageBox. xs:string Habilita el enrutamiento de la respuesta a los puertos de petición-respuesta.
BTS. EpmRRCorrelationToken Promovido por el motor de procesamiento de mensajería durante la ejecución de mensajes de tipo solicitud-respuesta. La propiedad se promueve antes de que los mensajes se envíen a la base de datos MessageBox. xs:int Usado internamente por el Motor de Mensajería. Especifica el nombre del servidor, el identificador de proceso y un GUID único para un flujo de respuesta de solicitud de mensajes.
BTS.InboundTransportLocation Promovido por el Motor de Mensajería tras recibir un mensaje de un adaptador receptor y antes de publicarlo en la base de datos del buzón de mensajes. xs:string Especifica la ubicación (URI) en la que el controlador recibió el mensaje.
BTS. InboundTransportType Promocionado por el Motor de Mensajería para recibir un mensaje de un adaptador de recepción y antes de publicarlo en la base de datos MessageBox. xs:string Especifica el tipo de adaptador que recibió este mensaje y lo envió al servidor: FILE, HTTP, etc.
BTS. InterchangeSequenceNumber Promovido por el motor de mensajería después de recibir un mensaje del adaptador de recepción y antes de publicarlo en la base de datos MessageBox. xs:int Indica el número de secuencia del documento en el intercambio. Si el documento no forma parte de un intercambio que se desensamblaba en documentos individuales, este valor será 1. La propiedad se puede leer en una orquestación, un proceso de envío y un adaptador de envío.
BTS.IsDynamicSend Esta propiedad se puede establecer en el contexto del mensaje. No se promoverá, y se aplicará solo a las operaciones de envío. xs:boolean El motor de mensajería escribe en el contexto del mensaje con un valor true cuando la operación de envío está en un puerto de envío dinámico. Si desea establecer dinámicamente las propiedades de los puertos de envío estáticos en las canalizaciones de envío, deberá establecer este valor en true.
BTS. MessageDestination Esta propiedad se puede establecer en la canalización de recepción mediante un componente de canalización de desensamblador cuando devuelve un mensaje de GetNext(). xs:string Se usa principalmente para admitir el procesamiento de intercambio recuperable en desensambladores, esta propiedad controla si un mensaje se publica en el buzón de mensajes o se suspende en la cola de suspensión. Si una canalización encuentra un mensaje incorrecto en un intercambio y quiere suspender el mensaje y continuar el procesamiento, puede hacerlo estableciendo MessageDestination = SuspendQueue y devolviendo el mensaje cuando el motor llama a GetNext() en el desensambblador.

Valores válidos:

-Predeterminado. Si la propiedad no existe, se supone que el mensaje es válido y se publica en la bandeja de mensajes.
- SuspendQueue. Dirige al motor de mensajería para suspender el mensaje. Nota: El mensaje suspendido será el mensaje posterior a la canalización o asignación y no el mensaje enviado por el adaptador (es decir, el mensaje de conexión).
BTS.MessageType Promovido por los componentes de canalización del desensamblador durante el análisis de mensajes. xs:string Especifica el tipo del mensaje. El tipo de mensaje se define como una concatenación del espacio de nombres del esquema de documento y el nodo raíz del documento: http://<MyNamespace>#<MyRoot>.
BTS. OutboundTransportLocation Si esta propiedad se establece en el contexto del mensaje, el motor de mensajería promueve esta propiedad. Esta propiedad se establece en un contexto de mensaje implícitamente cuando una orquestación envía un mensaje a un puerto de envío. Esta propiedad se puede también establecer explícitamente en una orquestación o en una canalización. xs:string Especifica el URI de ubicación de destino donde se envía el mensaje. El URI puede contener el prefijo del adaptador, como http://. El prefijo del adaptador lo usa el motor de mensajería para determinar el tipo de adaptador que se va a usar al enviar el mensaje. Si el prefijo del adaptador y la propiedad BTS.OutboundTransportType están configurados, el tipo de adaptador de BTS.OutboundTransportType siempre prevalece sobre el tipo de adaptador determinado a partir del prefijo.

Valores válidos:

Cola de mensajes de BizTalk: DIRECT=, PRIVATE=, y PUBLIC=

ARCHIVO: file://

FTP: FTP://

HTTP: http:// y https://

SMTP: mailto:

SOAP: SOAP://

SQL: SQL://
BTS.OutboundTransportType Si esta propiedad se establece en el contexto del mensaje, el motor de mensajería promueve esta propiedad. Esta propiedad se establece en un contexto implícitamente cuando una orquestación envía un mensaje a un puerto de envío. Esta propiedad también se puede establecer explícitamente en una orquestación o en una canalización. xs:string Especifica el tipo de adaptador usado para enviar el mensaje. Los tipos de adaptador disponibles son FILE, FTP, HTTP, SMTP, SOAP y SQL.

Los valores establecidos en esta propiedad, así como los prefijos de adaptador especificados en la dirección, no son sensibles a las mayúsculas y minúsculas.
BTS.PropertiesToUpdate Un adaptador establece esta propiedad cuando necesita conservar algunos de los valores de propiedad en un mensaje erróneo que está siendo reenviado o suspendido.

Esto significa que cuando el mensaje se vuelve a enviar o reanuda, tendrá las propiedades especificadas establecidas en el contexto.
xs:string Contiene una cadena XML con elementos que representan nombres de propiedad, espacios de nombres y valores.
BTS.ReceivePortID Promocionado por el Motor de Mensajería para recibir un mensaje de un adaptador de recepción y antes de publicarlo en la base de datos MessageBox. xs:int Identifica el puerto de recepción en el que se recibió el mensaje.
BTS.ReceivePortName Promocionado por el Motor de Mensajería para recibir un mensaje de un adaptador de recepción y antes de publicarlo en la base de datos MessageBox. xs:string Nombre descriptivo del puerto de recepción en el que se recibió el mensaje.
BTS. RouteDirectToTP Promocionado por el motor de mensajería en mensajes para la ejecución de bucle invertido o solicitud-respuesta. La propiedad se promueve antes de que los mensajes se envíen a la base de datos MessageBox. xs:boolean Lo usa internamente el motor de mensajería para habilitar escenarios de bucle invertido y de solicitud-respuesta.
BTS.SPGroupID Promocionado por el motor de mensajería cuando el mensaje se envía a un puerto de envío desde la orquestación. xs:string Especifica el identificador del grupo de puertos de envío.
BTS. SPID Promocionado por el motor de mensajes cuando un mensaje es enviado desde la orquestación a un puerto de envío. xs:string Especifica el identificador del puerto de envío.
BTS.SPName Promovido por el motor de mensajes cuando se publica un mensaje de respuesta desde un puerto de envío de Solicit-Response. xs:string Se usa para suscribirse a los mensajes de respuesta desde un puerto de envío Solicit-Response. El valor es el nombre del puerto de envío.
BTS.SPTransportBackupID Promocionado por el Motor de Mensajería cuando se envía un mensaje a un puerto de envío desde una orquestación. xs:string Especifica el identificador del adaptador de copia de seguridad en el puerto de envío.
BTS.SPTransportID Promocionado por el motor de mensajería cuando se envía un mensaje a un puerto de envío desde una orquestación. xs:string Especifica el identificador del adaptador principal en el puerto de envío.
BTS.SuspendAsNonResumable Un adaptador puede establecer esta propiedad antes de llamar a SubmitMessage() o en una orquestación antes de enviar un mensaje a un puerto de envío. Nota: SubmitRequestMessage() omitirá esta propiedad; Los mensajes bidireccionales siempre se suspenden como no reanudables. xs:boolean Controla si el motor de mensajes debe suspender un mensaje como no reanudable en caso de error de mensaje. Normalmente, los mensajes se suspenden como reanudables, pero hay casos en los que esto es inapropiado; por ejemplo, reanudar un mensaje para un puerto de envío o recepción ordenado interrumpiría el orden del mensaje.

Valores válidos:

-Falso. El mensaje se suspende como reanudable (este es el valor predeterminado).
-Verdadero. El mensaje se suspende como no reanudable.
BTS.SuspendMessageOnRoutingFailure Promocionado por el Motor de Mensajería para recibir un mensaje de un adaptador de recepción y antes de publicarlo en la base de datos MessageBox. xs:boolean Especifica el comportamiento cuando se produce un error de enrutamiento con un mensaje entrante.

Valores válidos:

- Valor predeterminado/Falso. Si la propiedad no existe o está establecida en False, el motor notifica al adaptador del error cuando se produce un error de enrutamiento.
-Verdadero. El motor de enrutamiento suspenderá el mensaje automáticamente cuando se produzca un error de enrutamiento. Nota: El mensaje suspendido será el mensaje posterior a la canalización o asignación y no el mensaje enviado por el adaptador (es decir, el mensaje de conexión).

Hay una serie de otras propiedades en este espacio de nombres que pueden ser útiles para algunas aplicaciones de BizTalk.

Propiedad Cuándo y dónde se promueve Tipo Descripción
BTS. AckDescription Configurado por el motor de mensajería antes de publicar un mensaje de confirmación en la base de datos MessageBox. xs:string Identifica el errorDescription, que proporciona el lugar y el motivo de la suspensión.
BTS. EncryptionCert No promocionable. xs:int Identifica la huella digital correspondiente al certificado de cifrado. Establezca esta propiedad en un componente de canalización personalizada o orquestación colocado antes del componente de canalización del codificador MIME/SMIME en una canalización para realizar el cifrado de respuesta en un puerto de solicitud-respuesta que recibe un mensaje firmado y cifrado.
BTS. InterchangeID Establecido por parte del mecanismo de mensajería para cada mensaje que llegue al servidor. xs:string Define el identificador único que se usa para agrupar los documentos resultantes del mismo mensaje de intercambio.
BTS. Loopback Se establece mediante un adaptador al enviar el mensaje de solicitud para la ejecución de bucle invertido. xs:boolean Define si el mensaje se debe enviar al servidor para una ejecución de bucle invertido. En la ejecución de bucle de retorno, el mensaje de solicitud se publica en el cuadro de mensajes MessageBox, donde se enruta directamente al adaptador de recepción como respuesta.
BTS SignatureCertificate Configurado por algunos adaptadores cuando se envía un mensaje al servidor. El componente de canalización de resolución de partes interesadas utiliza esta propiedad. xs:string Identifica la huella digital del certificado de firma que se usó para firmar el mensaje recibido por BizTalk Server.
BTS. SourcePartyID Establecido por el componente de canalización de resolución de partes después de que la entidad se haya identificado para el mensaje entrante. xs:string Identificador del usuario de BizTalk.
BTS.SSOTicket Si el adaptador de recepción admite esta propiedad, se establece al publicar el mensaje en un servidor. xs:string Un ticket contiene el dominio cifrado y el nombre de usuario del usuario actual, así como el tiempo de expiración del ticket. Los adaptadores habilitados para SSO usan el ticket para obtener las credenciales del usuario al autenticarse en puntos de conexión de destino.
BTS. WindowsUser Configurado por algunos adaptadores cuando se envía un mensaje al servidor. El componente de canalización de resolución de partes interesadas utiliza esta propiedad. xs:string Especifica la cuenta de un usuario en nombre del que se envía el mensaje al servidor.

Para obtener información adicional sobre las propiedades y los esquemas de propiedades asociados a los componentes y adaptadores de canalización, consulte lo siguiente:

Véase también

Acerca de las propiedades del contexto de mensaje de BizTalk
Cómo usar expresiones para asignar valores a puertos dinámicos