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.
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:
Para obtener información acerca de cómo se rellena el árbol de mensaje, consulte Cómo se llena el árbol de mensaje.
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.