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 mensajes) en el destino de la salida de rastreo.
Es posible que 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 LocalEnvironment, es posible que desee registrar 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.
Presuponga 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 contenido del mensaje se muestra a continuación:
<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 muestre uno o más árboles creados a partir de este mensaje: el cuerpo del mensaje, los árboles Environment, LocalEnvironment y Exception. 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}. Esto 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 a continuación, incluye una carpeta WrittenDestination. Esto representa un rastreo que ha grabado un nodo Trace incluido después de un nodo MQOutput, donde el terminal de salida del nodo MQOutput se conecta a una secuencia de nodos incluido el nodo Trace. Cuando se conecta un terminal de salida, se aumenta LocalEnvironment con información acerca de la acción que ha realizado 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' ) ) ) )
También puede ver la estructura de los mensajes en el flujo de mensajes y otra información, cuando utilice el depurador de flujos.