Estructura del árbol de mensaje

El árbol de mensaje forma parte del árbol lógico de mensaje en el que el intermediario almacena su representación interna del cuerpo del mensaje.

La raíz de un árbol de mensaje se denomina Raíz. El árbol de mensaje siempre está presente y se pasa de nodo a nodo en una sola instancia de un flujo de mensajes.

El árbol de mensaje incluye todas las cabeceras que están presentes en el mensaje, además del cuerpo del mensaje. El árbol también incluye el subárbol Propiedades (descrito en Analizadores), si lo ha creado el analizador. Si el árbol de mensaje lo ha creado un analizador suministrado, el elemento que representa el subárbol Propiedades va seguido de cero o más cabeceras.

Si se ha recibido el mensajes a través de WebSphere MQ Enterprise Transport, WebSphere MQ Mobile Transport o WebSphere MQ Telemetry Transport, la primera cabecera (el segundo elemento) debe ser el MQMD. Cualquier cabecera adicional incluida en el mensaje aparece en el árbol en el mismo orden que en el mensaje. El último elemento debajo de la raíz del árbol de mensaje siempre es el cuerpo del mensaje.

Si el árbol de mensaje lo ha creado un analizador definido por el usuario, el árbol Properties, si está presente, va seguido del cuerpo del mensaje.

A continuación, se muestra la estructura del árbol de mensaje. Si el mensaje de entrada no es un mensaje WebSphere MQ, es posible que las cabeceras mostradas no aparezcan. Si el árbol lo ha creado un analizador definido por el usuario, es posible que el árbol Properties no aparezca.

Estructura de árbol de mensaje creada por un nodo de entrada y analizador para un mensaje recibido a través de un transporte que utiliza WebSphere MQ.

El árbol del cuerpo del mensaje es una estructura de elementos hijo (descrita a continuación) que representa el contenido del mensaje (datos) y refleja la estructura lógica de dicho contenido. El árbol del cuerpo del mensaje lo crea un analizador de cuerpos (ya sea un analizador suministrado o un analizador definido por el usuario) tal como se describe en Analizadores.

Cada elemento del árbol analizado tiene uno de esto tres tipos:

Elemento de nombre
Un elemento de nombre tiene asociada una serie de caracteres, que es el nombre del elemento. Un ejemplo de un elemento de nombre es XMLElement, que se describe en XML element. Un elemento de nombre también tiene asociado una segunda Serie, que es el espacio de nombres del elemento; esta Serie puede estar vacía.
Elemento de valor
Un elemento de valor tiene asociado un valor. Un ejemplo de un elemento de valor es XMLContent, que se describe en XML content.
Elemento de nombre-valor
Un elemento de nombre-valor es una optimización del caso en el que un elemento de nombre sólo contiene un elemento de valor y nada más. El elemento contiene un nombre y un valor. Un ejemplo de un elemento de nombre-valor es XMLAttribute, que se describe en XML attribute.

Para obtener información acerca de cómo se rellena el árbol de mensaje, consulte Cómo se llena el árbol de mensaje.

Carpeta Propiedades

La carpeta de Propiedades es el primer elemento del árbol de mensaje y contiene información sobre las características del mensaje.

La raíz de la carpeta de propiedades se llama Propiedades. Es el primer elemento bajo el elemento raíz. Todos los árboles de mensaje generados por los analizadores incorporados incluyen una carpeta de propiedades para el mensaje. Si crea su propio analizador definido por el usuario, puede decidir si el analizador debe crear una carpeta de propiedades. Sin embargo, para una mayor coherencia, debería incluir esta acción en el analizador definido por el usuario.

La carpeta de propiedades contiene un conjunto de propiedades estándar que puede manipular en los nodos del flujo de mensajes de la misma manera que cualquier otra propiedad. Algunos de estos campos se correlacionan con campos en las cabeceras de WebSphere MQ soportadas, si existen, y se pasan al analizador adecuado cuando se entrega un mensaje de un nodo a otro.

Por ejemplo, la cabecera MQRFH2 contiene información sobre el conjunto de mensajes, el tipo del mensaje y el formato del mensaje. Estos valores se almacenan en la carpeta de propiedades como MessageSet, MessageType y MessageFormat. Para acceder a estos valores utilizando ESQL o Java en los nodos de proceso de mensajes, consulte estos valores en la carpeta Propiedades; no consulte directamente los campos de las cabeceras de las que se derivan.

El analizador de propiedades asegura que los valores de los campos de cabecera coincidan con los valores de la carpeta de propiedades en la entrada y la salida de cada nodo. Para cualquier campo, si cambia únicamente una cabecera (la cabecera Propiedades o una cabecera de mensaje específica), se utiliza dicho valor. Si ambas cabeceras Propiedades y la cabecera de mensaje específica han cambiado, se utiliza el valor de la carpeta Propiedades.

Cuando el proceso de flujo de mensajes se ha completado, se descarta la carpeta de propiedades.

Referencia relacionada
Nodos incorporados
Referencia de ESQL
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:53:53

ac12610_