Utilice el subárbol de destino para configurar los destinos utilizados por los nodos de salida, el nodo HTTPRequest, el nodo SOAPRequest, el nodo SOAPAsyncRequest y el nodo RouteToLabel. Los ejemplos siguientes muestran cómo puede crear y utilizar un procedimiento ESQL para realizar la tarea de configurar valores para cada uno de estos usuarios.
Copie y utilice estos procedimientos tal como se muestran, o puede modificarlos y ampliarlos para realizar tareas similares.
CREATE PROCEDURE addToMQDestinationList(IN LocalEnvironment REFERENCE, IN newQueue char) BEGIN /******************************************************************************* * Procedimiento que añade un nombre de cola a la lista de destinos MQ en el entorno local. * Esta lista la utiliza un nodo MQOutput que tiene la modalidad establecida en la lista de destinos. * * IN LocalEnvironment: LocalEnvironment que se debe modificar. * Establecer este valor en OutputLocalEnvironment al llamar a este procedimiento * IN queue: cola que se debe añadir a la lista * *******************************************************************************/ DECLARE I INTEGER CARDINALITY(LocalEnvironment.Destination.MQ.DestinationData[]); IF I = 0 THEN SET LocalEnvironment.Destination.MQ.DestinationData[1].queueName = newQueue; ELSE SET LocalEnvironment.Destination.MQ.DestinationData[I+1].queueName = newQueue; END IF; END;
CREATE PROCEDURE overrideDefaultHTTPRequestURL(IN LocalEnvironment REFERENCE, IN newUrl char) BEGIN /******************************************************************************* * Procedimiento que cambia el URL al que el nodo HTTPRequest envía la petición. * * IN LocalEnvironment: LocalEnvironment que se debe modificar. * Establecer este valor en OutputLocalEnvironment al llamar a este procedimiento * IN queue: el URL al que se debe enviar la petición. * *******************************************************************************/ set LocalEnvironment.Destination.HTTP.RequestURL = newUrl; END;
CREATE PROCEDURE addToRouteToLabelList(IN LocalEnvironment REFERENCE, IN newLabel char) BEGIN /******************************************************************************* * Procedimiento que añade un nombre de etiqueta a la lista RouteToLabel en el entorno local. * Esta lista la utiliza un nodo RoteToLabel. * * IN LocalEnvironment: LocalEnvironment que se debe modificar. * Establecer este valor en OutputLocalEnvironment al llamar a este procedimiento * IN label: etiqueta que se debe añadir a la lista * *******************************************************************************/ if LocalEnvironment.Destination.RouterList.DestinationData is null then set LocalEnvironment.Destination.RouterList.DestinationData."label" = newLabel; else create LASTCHILD OF LocalEnvironment.Destination.RouterList.DestinationData NAME 'label' VALUE newLabel; end if; END;