WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Acceder al árbol ExceptionList mediante ESQL

El árbol ExceptionList tiene su propio nombre de correlación, ExceptionList, y debe utilizarlo en todas las sentencias ESQL que hacen referencia o establecen el contenido de este árbol.

Este árbol se crea con el árbol lógico cuando se analiza un mensaje de entrada. Inicialmente está vacío y sólo se rellena si se produce una excepción durante el proceso del flujo de mensajes. Es posible que se produzca más de una excepción. Si es así, el árbol ExceptionList contiene un subárbol para cada excepción.

Puede acceder al árbol ExceptionList en los nodos Compute, Database y Filter, y puede actualizarlo en un nodo Compute. Debe utilizar el nombre de correlación adecuado: ExceptionList para un nodo Database o Filter e InputExceptionList para un nodo Compute.

Es posible que desee acceder a este árbol en un nodo de un procedimiento de manejo de errores. Por ejemplo, es posible que desee direccionar el mensaje a una vía de acceso diferente basándose en el tipo de excepción, por ejemplo, uno que haya generado explícitamente utilizando una sentencia ESQL THROW o uno generado por el intermediario.

El ESQL siguiente le muestra cómo puede acceder a ExceptionList y procesar cada hijo que contiene:

-- Declarar una referencia para ExceptionList
-- (en un nodo Compute utilizar InputExceptionList)
DECLARE start REFERENCE TO ExceptionList.*[1];

-- Crear un bucle por los hijos de la lista de excepciones
WHILE start.Number IS NOT NULL DO 
   -- más ESQL

   -- Trasladar el inicio al último hijo del campo al que apunta actualmente 
   MOVE start LASTCHILD;
END WHILE;         

El siguiente ejemplo, muestra un extracto de ESQL que se ha codificado para un que un nodo Compute cree un bucle a través de la lista de excepciones hasta la última descripción de excepción (anidada) y extraiga el número del error. Este error se refiere a la causa original del problema y normalmente proporciona la información más precisa. La acción que el flujo de mensajes lleva a cabo a continuación puede decidirse según el número de error que se recupere de este modo.

CREATE PROCEDURE getLastExceptionDetail(IN InputTree reference,OUT messageNumber integer,
OUT messageText char)	
    /****************************************************************************
	 * Un procedimiento que obtendrá los detalles de la última excepción de un mensaje
	 * IN InputTree: La lista de excepciones entrante
	 * IN messageNumber: El último número de mensaje
	 * IN messageText: El último texto de mensaje.
	 *****************************************************************************/
   BEGIN
   	    -- Crear una referencia al primer hijo de la lista de excepciones
   	    declare ptrException reference to InputTree.*[1];
   	    -- seguir con el bucle mientras actúan los desplazamientos al hijo de la lista de excepciones 
		WHILE lastmove(ptrException) DO
			-- almacenar los valores actuales para el número de error y el texto
			IF ptrException.Number is not null THEN
        		SET messageNumber = ptrException.Number;
        		SET messageText = ptrException.Text;
  			END IF;
  			-- ahora ir al último hijo, que debería ser la próxima lista de excepciones
			move ptrException lastchild;
		END WHILE; 
	END;
Para obtener más información sobre el uso de la lista de excepciones, vea el subflujo del siguiente ejemplo que incluye ESQL que examina la estructura de la lista de excepciones y lleva a cabo una acción específica según su contenido:

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Para obtener información sobre cómo acceder al árbol ExceptionList mediante Java™, consulte Acceso al árbol ExceptionList utilizando Java

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:25


Tema de tareaTema de tarea | Versión 8.0.0.5 | ac16830_