Ver el árbol lógico de mensaje en la salida de rastreo

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 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.

UNIX platform Inicio del cambioEn sistemas UNIX, las entradas de syslog tienen su longitud limitada y los mensajes que se envían al syslog se truncan por el nuevo carácter de línea. 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.Fin del cambio

  1. Vaya a la Perspectiva de Desarrollo de aplicaciones de intermediario.
  2. Abra el flujo de mensajes para el que desee visualizar los mensajes. Abra un flujo de mensajes existente o cree un nuevo flujo de mensajes.
  3. Incluya un nodo Trace siempre que desee ver una parte o toda la estructura del árbol de mensaje. Puede incluir tantos nodos Trace como desee; sin embargo, cada nodo introduce alguna sobrecarga en el proceso del flujo de mensajes.
  4. Establezca las propiedades del nodo Trace para rastrear el mensaje o partes del mensaje que desea visualizar. Especifique las partes del mensaje utilizando referencias de campo ESQL. A continuación, se incluyen varios ejemplos.
  5. Si ha añadido un nodo Trace para investigar un comportamiento determinado del flujo de mensajes y ahora ha resuelto el problema o ha comprobado que el flujo de mensajes funciona correctamente, suprima el o los nodos Trace y vuelva a desplegar el flujo de mensajes.

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 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).

Cuerpo del mensaje
Si desea que el nodo Trace grabe el árbol del cuerpo del mensaje incluidas las propiedades y todas las cabeceras, establezca Patrón en $Root. Si sólo desea los datos del mensaje, establezca Patrón en ${Body}.

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)
Environment
Para rastrear los datos del árbol de entorno, establezca Patrón en ${Environment}. Este valor genera una salida similar a la siguiente:
 (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).

LocalEnvironment
Para rastrear datos en el árbol LocalEnvironment, establezca el Patrón en ${LocalEnvironment}. La salida que obtiene es similar al ejemplo siguiente, que muestra que una lista de destinos se ha creado en el árbol LocalEnvironment:
(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. 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, LocalEnvironment 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'
      )
    )
  )
)
ExceptionList
Para rastrear datos en la lista de excepciones, establezca Patrón en ${ExceptionList}.

También puede ver la estructura de los mensajes en el flujo de mensajes y otra información, cuando utilice el depurador de flujos.

Conceptos relacionados
Visión general de flujos de mensajes
Estructura del árbol lógico
Nombres de correlaciones
Visión general del depurador de flujos de mensajes
Tareas relacionadas
Diseñar un flujo de mensajes
Manipular el contenido del cuerpo del mensaje
Manipular otras partes del árbol de mensaje
Prueba y depuración de aplicaciones de flujo de mensajes
Referencia relacionada
Nodo Trace
Nodo MQInput
Nodo MQOutput
Estructura de la lista de excepciones
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:54

ac16810_