Correlación de los campos de cabecera y las propiedades de un mensaje desde y hacia el formato de IBM MQ

Cuando la integración de servicios convierte un mensaje al formato IBM MQ, establece los campos en el MQMD y en la MQRFH2 basándose en los campos y las propiedades de la cabecera del mensaje de integración de servicios: se trata de los campos y las propiedades de cabecera del mensaje JMS aplicables al mensaje. Cuando la integración de servicios convierte un mensaje desde el formato IBM MQ, establece los campos y las propiedades de cabecera del mensaje de integración de servicios desde el MQMD y la MQRFH2 en el mensaje IBM MQ.

Intercambio de mensajes entre los programas JMS a través de la integración de servicios y IBM MQ

Normalmente, no tiene que saber la conversación entre los formatos de mensaje para intercambiar mensajes JMS entre la integración de servicios y IBM MQ, porque la integración de servicios realiza la conversación apropiada automáticamente, incluida la codificación de caracteres y numérica. Sin embargo, es posible que tenga que obtener más información sobre la conversión de mensajes si las aplicaciones JMS no se comportan como se espera, o si la configuración de la integración de servicios incluye programas o mediaciones JMS que procesan mensajes procedentes o con destino de programas IBM MQ no JMS.

Si las aplicaciones de la integración de servicios intercambian objetos MapMessage con aplicaciones IBM MQ, es posible que tenga que especificar un formato de codificación de mensajes MAP no predeterminado.

Propiedades de los mensajes IBM MQ: el MQMD y la MQRFH2

Los mensajes WebSphere MQ contienen propiedades de mensaje en el descriptor de mensaje (MQMD) y en las reglas y cabecera 2 de formato (MQRFH2). El mensaje IBM MQ siempre incluye un MQMD, pero la MQRFH2 es opcional porque algunas aplicaciones WebSphere MQ no pueden procesar mensajes que contienen una MQRFH2. Para simplificar la interoperación, puede configurar la integración de servicios para omitir la MQRFH2 de los mensajes para las aplicaciones que no pueden procesar la MQRFH2. Cuando la integración de servicios omite la MQRFH2, descarta los campos y las propiedades de la cabecera de integración de servicios correspondiente.
Nota: Una pequeña cantidad de información de MQRFH2 también se almacena en los campos MQMD. Sin embargo, estos campos MQMD no son equivalentes exactos, tienden a ser menos específicos y no se puede confiar en ellos para proporcionar un sustituto adecuado para la información de MQRFH2. Por tanto, si la aplicación receptora puede aceptar una cabecera MQRFH2, siempre se debe proporcionar una.

De forma parecida, la integración de servicios podría recibir mensajes de aplicaciones IBM MQ que generan mensajes sin ninguna MQRFH2. Cuando la integración de servicios recibe un mensaje sin ninguna MQRFH2, crea una cabecera de integración de servicios de "mejor opción", obteniendo toda la información que se pueda de la MQMD y utilizando los valores predeterminados para los otros campos.

Si desea información detallada sobre el contenido del descriptor de mensaje y de las cabeceras de mensaje, consulte la publicación IBM MQ Application Programming Reference. Si desea detalles del soporte para JMS de IBM MQ, incluidos los detalles de cómo IBM MQ almacena los campos de propiedades y cabecera de mensaje JMS en el MQMD y en la MQRFH2, consulte IBM MQ.

Propiedades de los mensajes IBM MQ: campos de cabecera JMS

La tabla siguiente muestra cómo la integración de servicios correlaciona los campos de cabecera JMS hacia y desde los campos MQMD y MQRFH2 al convertir mensajes hacia y desde el formato IBM MQ.

La tabla muestra el campo MQRFH2 como campo.carpeta, donde carpeta es el nombre de la carpeta MQRFH2 que contiene el campo, y campo es el nombre del campo que está dentro de la carpeta MQRFH2.

Para varios campos de cabecera JMS, hay a la vez un campo MQMD y un campo MQRFH2. Cuando la integración de servicio está convirtiendo mensajes al formato IBM MQ, establece los campos MQMD y MQRFH2. Cuando la integración de servicios está convirtiendo mensajes desde el formato IBM MQ, establece el campo de cabecera JMS desde el campo MQRFH2 si está disponible y, en caso contrario, desde el campo MQMD.

Tabla 1. Campos de cabecera de JMS, MQMD y MQRFH2. La primera columna de esta tabla muestra los campos de cabecera JMS y la segunda columna muestra los campos MQMD que se relacionan con los campos de cabecera JMS de la primera columna. La tercera columna muestra los campos MQRFH2 que se relacionan con los campos de cabecera JMS de la primera columna. La cuarta columna proporciona enlaces, según corresponda, a las notas a pie de página que aparecen debajo de la tabla.
Campo de cabecera JMS Campo MQMD Campo MQRFH2 Notas
JMSCorrelationID CorrelId jms.Cid Consulte la nota 1.
JMSDeliveryMode Persistence jms.Dlv Consulte la nota 15.
JMSDestination   jms.Dst Consulte la nota 16.
JMSExpiration Expiry jms.Exp  
JMSMessageID MsgId    
JMSPriority Priority   Consulte la nota 2.
JMSRedelivered BackoutCount   Consulte la nota 3.
JMSReplyTo ReplyToQ y ReplyToQMgr jms.Rto Consulte la nota 16.
JMSTimestamp PutDate y PutTime jms.Tms  
JMSType   mcd.Type  
Nota 1: El campo MQMD CorrelId puede contener un ID de correlación IBM MQ estándar de 48 dígitos hexadecimales (24 bytes). El JMSCorrelationID puede ser un valor byte[], un valor de serie que contiene caracteres hexadecimales y tiene el prefijo "ID:", o bien un valor de serie arbitrario que no empieza por "ID:". Los dos primeros representan un ID de correlación IBM MQ estándar y se correlacionan directamente a o desde el campo MQMD CorrelId (truncados o rellenados con ceros según corresponda); no utilizan el campo MQRFH2 jms.Cid. El tercer valor (serie arbitraria) utiliza el campo MQRFH2 jms.Cid; los primeros 24 bytes de la serie, en formato UTF-8, se escriben en el campo MQMD CorrelID.
Nota 2: IBM MQ almacena el valor JMSPriority en el campo MQRFH2 jms.Pri pero no utiliza ningún valor que ya está en dicho campo. La integración de servicios no comprueba ni establece el campo MQRFH2 jms.Pri.
Nota 3: La integración de servicios establece el indicador JMSRedelivered para un mensaje que recibe de IBM MQ en función del campo BackoutCount del MQMD; un valor BackoutCount distinto de cero indica que una operación de recepción anterior del mensaje se ha retrotraído.

Propiedades de los mensajes IBM MQ: propiedades definidas por JMS

La tabla siguiente muestra cómo la integración de servicios correlaciona las propiedades definidas por JMS hacia y desde los campos MQMD y MQRFH2 al convertir mensajes hacia y desde el formato IBM MQ.

La tabla muestra el campo MQRFH2 como campo.carpeta, donde carpeta es el nombre de la carpeta MQRFH2 que contiene el campo, y campo es el nombre del campo que está dentro de la carpeta MQRFH2.

Para varias propiedades definidas por JMS, hay a la vez un campo MQMD y un campo MQRFH2. Cuando la integración de servicio está convirtiendo mensajes al formato IBM MQ, establece los campos MQMD y MQRFH2. Cuando la integración de servicios está convirtiendo mensajes desde el formato IBM MQ, establece la propiedad definida por JMS desde el campo MQRFH2 si está disponible y, en caso contrario, desde el campo MQMD.

Tabla 2. Propiedades JMS con los campos MQMD y MQRFH2. La primera columna de esta tabla muestra las propiedades definidas por JMS y la segunda columna muestra los campos MQMD que se relacionan con las propiedades definidas por JMS de la primera columna. La tercera columna muestra los campos MQRFH2 que se relacionan con las propiedades definidas por JMS de la primera columna. La cuarta columna proporciona enlaces, según corresponda, a las notas a pie de página que aparecen debajo de la tabla.
Propiedad definida por JMS Campo MQMD Campo MQRFH2 Notas
JMSXAppID PutApplName    
JMSXDeliveryCount BackoutCount    
JMSXGroupID GroupId jms.Gid Consulte las notas 4 y 5.
JMSXGroupSeq MsgSeqNumber jms.Seq  
JMSXUserID UserIdentifier    
Nota 4: El campo MQMD GroupId puede contener un GroupId de IBM MQ estándar de 48 dígitos hexadecimales (24 bytes). El JMSXGroupID es un valor de serie que contiene caracteres hexadecimales y tiene el prefijo "ID:" o bien es un valor de serie arbitraria que no empieza por "ID:". El primero de estos valores representa un GroupId de IBM MQ estándar se correlaciona directamente a o desde el campo MQMD GroupId (truncado o rellenado con ceros según corresponda). El segundo valor (serie arbitraria) utiliza el campo MQRFH2 jms.Gid; los primeros 24 bytes de la serie, en formato UTF-8, se escriben en el campo MQMD GroupId.
Nota 5: Cuando la integración de servicios convierte mensajes al formato IBM MQ, si se ha establecido JMSXGroupID la integración de servicios también estable el distintivo MQMF_MSG_IN_GROUP en el campo MsgFlags del MQMD. Tenga en cuenta que al enviar mensajes de grupos, la aplicación JMS de envío debe asegurarse de que el distintivo MQMF_LAST_MSG_IN_GROUP está establecido según sea necesario (consulte Propiedades de los mensajes IBM MQ: propiedades específicas del proveedor de JMS).

Propiedades de los mensajes IBM MQ: propiedades específicas del proveedor de JMS

La tabla siguiente muestra cómo la integración de servicios correlaciona las propiedades específicas del proveedor de JMS hacia y desde los campos MQMD y MQRFH2 al convertir mensajes hacia y desde del formato WebSphere MQ. Normalmente estas propiedades se utilizan para satisfacer requisitos especiales de la aplicación receptora, por lo que debe consultar al desarrollador o administrador de la aplicación receptora para obtener detalles acerca de los valores necesarios de las propiedades.

Tabla 3. Propiedades específicas del proveedor de JMS con los campos MQMD y MQRFH2. La primera columna de esta tabla muestra las propiedades específicas del proveedor de JMS y la segunda columna muestra los campos MQMD que se relacionan con las propiedades específicas del proveedor de JMS de la primera columna. La tercera columna muestra los campos MQRFH2 que se relacionan con las propiedades específicas de proveedor de JMS de la primera columna. La cuarta columna proporciona enlaces, según corresponda, a las notas a pie de página que aparecen debajo de la tabla.
Propiedad específica del proveedor de JMS Campo MQMD Campo MQRFH2 Notas
JMS_IBM_ArmCorrelator   mqext.Arm Consulte la nota 6.
JMS_IBM_Character_Set CodedCharacterSetId CodedCharacterSetId Consulte la nota 7.
JMS_IBM_Encoding Encoding Encoding Consulte la nota 7.
JMS_IBM_Feedback Feedback    
JMS_IBM_Format Format Format Consulte la nota 7.
JMS_IBM_Last_Msg_In_Group MQMF_LAST_MSG_IN_GROUP   Consulte la nota 8.
JMS_IBM_MQMD_CorrelId CorrelId   Consulte las notas 9 y 10.
JMS_IBM_MQMD_MsgId MsgId   Consulte las notas 9 y 11.
JMS_IBM_MQMD_Persistence Persistence   Consulte las notas 9, 12 y 15.
JMS_IBM_MQMD_ReplyToQ ReplyToQ   Consulte las notas 9, 13 y 16.
JMS_IBM_MQMD_ReplyToQMgr ReplyToQMgr   Consulte las notas 9, 13 y 16.
JMS_IBM_MsgType MsgType    
JMS_IBM_PutDate PutDate    
JMS_IBM_PutTime PutTime    
JMS_IBM_Report_* Report   Consulte la nota 14.
JMS_IBM_RMCorrelator   mqext.Wrm  
JMS_TOG_ARM_Correlator   mqext.Arm Consulte la nota 6.
Nota 6: Debe utilizar el nombre JMS_TOG_ARM_Correlator para el correlacionador ARM. El nombre JMS_IBM_ArmCorrelator está disponible para la compatibilidad con algunos programas JMS existentes.
Nota 7: Las propiedades JMS_IBM_Character_Set, JMS_IBM_Encoding y JMS_IBM_Format contienen información acerca de la carga útil del mensaje IBM MQ; es decir, la parte del mensaje IBM MQ que sigue a la MQRFH2 (si hay una) o todo el mensaje IBM MQ, excluido el MQMD, si no hay ninguna MQRFH2. Para obtener más información sobre estas propiedades y cómo utilizarlas, consulte Correlación del cuerpo de mensajes con y desde el formato IBM MQ.
Nota 8: MQMF_LAST_MSG_IN_GROUP es uno de los distintivos del campo MsgFlags del MQMD.
Nota 9: Las propiedades JMS_IBM_MQMD_CorrelId, JMS_IBM_MQMD_MsgId, JMS_IBM_MQMD_Persistence, JMS_IBM_MQMD_ReplyToQ y JMS_IBM_MQMD_ReplyToQMgr permiten a las aplicaciones JMS alterar temporalmente el proceso predeterminado de integración de servicios de los campos MQMD de IBM MQ. Cuando la integración de servicios convierte mensajes al formato IBM MQ, la integración de servicios establece el campo MQMD correspondiente para cada una de estas propiedades si, y sólo si, dicha propiedad ha sido establecida explícitamente por la aplicación (utilizando setObjectProperty() o setNonNullProperty()).

La integración de servicios establece cada una de estas propiedades desde el campo MQMD correspondiente cuando convierte un mensaje desde el formato IBM MQ.

Nota 10: La propiedad JMS_IBM_MQMD_CorrelId altera temporalmente el proceso predeterminado de la propiedad JMSCorrelationID. Cuando la integración de servicios convierte mensajes al formato IBM MQ, la integración de servicios establece el campo MQMD CorrelId en el valor (byte[]), si se ha establecido explícitamente, de la propiedad JMS_IBM_MQMD_CorrelId, independientemente del valor (en caso de que haya alguno) de la propiedad JMSCorrelationID. Establecer la propiedad JMS_IBM_MQMD_CorrelId no afecta al valor del campo MQRFH2 jms.Cid.

Cuando la integración de servicios convierte mensajes desde el formato IBM MQ, la integración de servicios establece la propiedad JMS_IBM_MQMD_CorrelId en el valor (byte[]) del campo MQMD CorrelId, independientemente del valor (en caso de que haya alguno) del campo MQRFH2 jms.Cid.

Nota 11: La propiedad JMS_IBM_MQMD_MsgId altera temporalmente el proceso predeterminado JMS de la propiedad JMSMessageID. Cuando la integración de servicios convierte mensajes al formato IBM MQ, la integración de servicios comprueba si la propiedad JMS_IBM_MQMD_MsgId se ha establecido explícitamente. Si es así, la integración de servicios establece el campo MQMD MsgId en este valor (byte[]) y sustituye el valor exclusivo de JMSMessageID que JMS asigna al mensaje.

Cuando la integración de servicios convierte mensajes desde el formato IBM MQ, la integración de servicios establece la propiedad JMS_IBM_MQMD_MsgId en el valor (byte[]) del campo MQMD MsgId.

Nota 12: La propiedad JMS_IBM_MQMD_Persistence altera temporalmente el proceso predeterminado de la propiedad JMSDeliveryMode. Cuando la integración de servicios convierte mensajes al formato IBM MQ, la integración de servicios establece el campo MQMD Persistence en el valor (entero), si se ha establecido explícitamente, de la propiedad JMS_IBM_MQMD_Persistence, independientemente del valor (en caso de que haya alguno) de la propiedad JMSDeliveryMode. Establecer la propiedad JMS_IBM_MQMD_Persistence no afecta al valor del campo MQRFH2 jms.Dlv.

Cuando la integración de servicios convierte mensajes desde el formato IBM MQ, la integración de servicios establece la propiedad JMS_IBM_MQMD_Persistence en el valor (entero) del campo MQMD Persistence, independientemente del valor (en caso de que haya alguno) del campo MQRFH2 jms.Dlv.

Nota 13: Las propiedades JMS_IBM_MQMD_ReplyToQ y JMS_IBM_MQMD_ReplyToQMgr alteran temporalmente el proceso predeterminado de la propiedad JMSReplyTo. Cuando la integración de servicios convierte mensajes al formato IBM MQ, la integración de servicios establece el campo MQMD ReplyToQ en el valor (serie), si se ha establecido explícitamente, de la propiedad JMS_IBM_MQMD_ReplyToQ y el campo MQMD ReplyToQMgr en el valor (serie), si se ha establecido explícitamente, de la propiedad JMS_IBM_MQMD_ReplyToQMgr, independientemente del valor (en caso de que haya alguno) de la propiedad JMSReplyTo. Establecer la propiedad JMS_IBM_MQMD_ReplyToQ o JMS_IBM_MQMD_ReplyToQMgr no afecta al valor del campo MQRFH2 jms.Rto.

Cuando la integración de servicios convierte mensajes desde el formato IBM MQ, la integración de servicios establece las propiedades JMS_IBM_MQMD_ReplyToQ y JMS_IBM_MQMD_ReplyToQMgr en los valores (serie) de los campos MQMD ReplyToQ y ReplyToQMgr, independientemente del valor (en caso de que haya alguno) del campo MQRFH2 jms.Rto.

Nota 14: Para ver una lista de las propiedades JMS_IBM_Report_*, consulte Correlación de campos del informe MQMD con propiedades específicas del proveedor de JMS.
Nota 16: Para obtener más información, consulte Correlación de destinos desde y hacia colas, temas y destinos de IBM MQ.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc0007_
File name: rjc0007_.html