Para ver la estructura del árbol lógico de mensaje en cualquier punto del flujo de mensajes, incluya un nodo Trace y escriba una parte o todo el mensaje (incluidas las cabeceras y los cuatro árboles de mensaje) en el destino de la salida de rastreo.
Es posible que la salida del rastreo le resulte útil para comprobar o registrar el contenido de un mensaje antes y después de que un nodo haya realizado cambios en el mismo, o cuando el nodo de entrada lo ha recibido. Por ejemplo, si incluye un nodo Compute que crea una lista de destinos en el árbol de entorno local, es posible que desee tener un registro de la estructura que se ha creado como parte de un seguimiento de auditoría, o es posible que simplemente desee comprobar que el nodo Compute funciona tal y como esperaba.
En UNIX, las entradas de anotaciones cronológicas del sistema están limitadas en longitud y los mensajes enviados a las anotaciones cronológicas del sistema
se truncan por el carácter de línea nueva. Para grabar una gran cantidad de datos en un registro en
UNIX, establezca la propiedad
Destino del nodo
Trace en Archivo o Rastreo de usuario en lugar de Anotaciones de error locales.
Suponga que ha configurado un flujo de mensajes que recibe un mensaje XML en una cola WebSphere MQ de un nodo MQInput. El mensaje de entrada incluye una cabecera MQRFH2. El mensaje tiene el siguiente contenido:
<Trade type='buy'
Company='IBM'
Price='200.20'
Date='2000-01-01'
Quantity='1000'/>
Puede incluir y configurar un nodo Trace para generar salida que muestra uno o más de los árboles creado de este mensaje: el cuerpo del mensaje, entorno, entorno local y árboles de excepción. Si opta por registrar el contenido del cuerpo del mensaje, se incluyen el árbol Properties y el contenido de todas las cabeceras (en este ejemplo, al menos un MQMD y un MQRFH2). Especifique lo que desea registrar cuando establezca la propiedad Patrón del nodo Trace. Puede utilizar la mayor parte de los nombres de correlación para definir este patrón (no puede utilizar los nombres que sean específicos del nodo Compute).
La salida de rastreo generada para el árbol de mensaje del mensaje que se ha mostrado anteriormente con Patrón establecido en $Root será similar a la siguiente:
Root
Properties
CreationTime=GMTTIMESTAMP '1999-11-24 13:10:00' (un campo de indicación de la hora GMT)
... y otros campos ...
MQMD
PutDate=DATE '19991124' (un campo de fecha)
PutTime=GMTTIME '131000' (un campo GMTTIME)
... y otros campos ...
MQRFH
mcd
msd='xml' (un campo de serie de caracteres)
.. y otros campos ...
XML
Trade
type='buy' (un campo de serie de caracteres)
Company='IBM' (un campo de serie de caracteres)
Price='200' (un campo de serie de caracteres)
Date='2000-01-01' (un campo de serie de caracteres)
Quantity='1000' (un campo de serie de caracteres)
(0x1000000)Environment = (
(0x1000000)Variables = (
(0x1000000)MyVariable1 = (
(0x2000000) = '3'
)
(0x1000000)MyVariable2 = (
(0x2000000) = 'Hello'
)
)
)
Para rastrear variables concretas en la carpeta de variables del árbol Environment, puede utilizar un patrón más específico, por ejemplo, ${Environment.Variables.MyVariable1}. Este valor devuelve sólo el valor (por ejemplo, devuelve simplemente el valor 3).
(0x1000000)Destination = (
(0x1000000)MQ = (
(0x1000000)DestinationData = (
(0x3000000)queuename = 'MQOUT'
)
)
(0x1000000)MQDestinationList = (
(0x1000000)DestinationData = (
(0x3000000)queuename = 'OLDMQOUT'
)
)
(0x1000000)RouterList = (
(0x1000000)DestinationData = (
(0x3000000)labelname = 'continue'
)
(0x1000000)DestinationData = (
(0x3000000)labelname = 'custdetails'
)
(0x1000000)DestinationData = (
(0x3000000)labelname = 'trade'
)
)
)
Otro ejemplo, que se muestra aquí, incluye una carpeta WrittenDestination. Este ejemplo muestra un rastreo que ha grabado un nodo Trace incluido tras un nodo MQOutput, donde el terminal de salida del nodo MQOutput está conectado a una secuencia de nodos, incluido el nodo Trace. Cuando se conecta un terminal de salida, el entorno local aumenta con información sobre la acción realizada por el nodo de salida.
(0x1000000)Destination = (
(0x1000000)MQ = (
(0x1000000)DestinationData = (
(0x3000000)queuename = 'MQOUT'
)
)
(0x1000000)WrittenDestination = (
(0x1000000)MQ = (
(0x1000000)DestinationData = (
(0x3000000)queueName = 'MQOUT'
(0x3000000)queueManagerName = 'MQSI_SAMPLE_QM'
(0x3000000)replyIdentfier = X'414d51204d5153495f53414d504c455f1f442f3b12600100'
(0x3000000)msgId = X'414d51204d5153495f53414d504c455f1f442f3b12600100'
(0x3000000)correlId = X'000000000000000000000000000000000000000000000000'
(0x03000000):GroupId = X'414d512042524f4b45523220202020203f59934620001803'
)
)
)
)
También puede ver la estructura de los mensajes en el flujo de mensajes y otra información, cuando utilice el depurador de flujos.