Utilize as instruções a seguir para criar o fluxo de mensagens XML_PassengerQuery. Para obter instruções mais detalhadas, clique nos links fornecidos no final de cada etapa.
Para criar e configurar o fluxo de mensagens XML_PassengerQuery:
Gavetas de Paleta | Tipo de Nó | Nome de Nó |
---|---|---|
WebSphere MQ | MQInput | XML_PASSENGERQUERY_IN |
WebSphere MQ | MQOutput | XML_PASSENGERQUERY_OUT |
WebSphere MQ | MQOutput | XML_PASSENGERQUERY_FAIL_1 |
WebSphere MQ | MQOutput | XML_PASSENGERQUERY_FAIL_2 |
Transformação | Compute | DecideOnQuery |
Transformação | Compute | GetPassengerInformation |
Transformação | Compute | GetReservationsInformation |
Roteamento | Rótulo | SinglePassenger |
Roteamento | Rótulo | AllReservations |
Roteamento | RouteToLabel | RouteToLabel |
O nó RouteToLabel roteia a mensagem dinamicamente de acordo com o conteúdo do ambiente local associado à mensagem. O ambiente local contém a identidade de um ou mais nós de destino Label, que são identificados pela propriedade Nome do Rótulo (não pelo nome do nó).
Nome de Nó | Terminal | Conectar a |
---|---|---|
XML_PASSENGERQUERY_IN | Falha | XML_PASSENGERQUERY_FAIL_1 |
Out | DecideOnQuery | |
Catch | XML_PASSENGERQUERY_FAIL_2 | |
DecideOnQuery | Out | RouteToLabel |
SinglePassenger | Out | GetPassengerInformation |
AllReservations | Out | GetReservationsInformation |
GetPassengerInformation | Out | XML_PASSENGERQUERY_OUT |
GetReservationsInformation | Out | XML_PASSENGERQUERY_OUT |
Nome de Nó | Ativo | Propriedade | Valor |
---|---|---|---|
XML_PASSENGERQUERY_IN | Básico | Nome da fila | XML_PASSENGERQUERY_IN (Esse valor é a fila local a partir da qual o fluxo de mensagens obtém a mensagem.) |
Análise de Mensagem de Entrada | Domínio de mensagem | XMLNSC: Para mensagens XML
(conhecimento de espaço de nomes, validação, baixa utilização de
memória) (Esse valor instrui o intermediário a utilizar o analisador XML genérico.) |
|
XML_PASSENGERQUERY_FAIL_1 | Básico | Nome da fila (Não é necessário especificar o nome do gerenciador de filas porque a fila está definida no mesmo gerenciador de filas que o intermediário). |
XML_PASSENGERQUERY_FAIL (Esse valor é a fila local na qual o fluxo de mensagens coloca a mensagem se o processamento falhar.) |
XML_PASSENGERQUERY_FAIL_2 | Básico | Nome da fila (Não é necessário especificar o nome do gerenciador de filas porque a fila está definida no mesmo gerenciador de filas que o intermediário). |
XML_PASSENGERQUERY_FAIL (Esse valor é a fila local na qual o fluxo de mensagens coloca a mensagem se o processamento falhar.) |
DecideOnQuery | Básico | Módulo ESQL | DecideOnQuery (Esse valor é o nome do módulo ESQL utilizado por esse nó durante o processamento. O nome deve corresponder ao nome na instrução CREATE COMPUTE MODULE no arquivo ESQL). |
Básico | Modo de computação | LocalEnvironment e Mensagem
(Esse valor faz com que LocalEnvironment e a mensagem sejam transmitidos ao nó RouteToLabel depois de serem modificados). |
|
RouteToLabel | Básico | Modo | Rota para Primeiro
(Esse valor faz com que o nó RouteToLabel comece a processar a lista de destinos a partir do primeiro item, no início da lista). |
SinglePassenger | Básico | Nome do rótulo | SinglePassenger (Esse valor é o nome do nó Rótulo para o qual o fluxo de mensagens transmite a mensagem. O nome deve corresponder ao nome do rótulo configurado no nó Decide On The Query. Consulte o ESQL no módulo Decide_on_query.) |
AllReservations | Básico | Nome do rótulo | AllReservations (Esse valor é o nome do nó Rótulo para o qual o fluxo de mensagens transmite a mensagem. O nome deve corresponder ao nome do rótulo configurado no nó Decide On The Query. Consulte o ESQL no módulo Decide_on_query.) |
GetPassengerInformation | Básico | Origem de dados | RESERVDB (Esse valor é o banco de dados utilizado por esse nó.) |
Básico | Módulo ESQL | GetPassengerInformation (Esse valor é o nome do módulo ESQL utilizado por esse nó durante o processamento. O nome deve corresponder ao nome na instrução CREATE COMPUTE MODULE no arquivo ESQL). |
|
Básico | Modo de computação | LocalEnvironment e Mensagem
(Esse valor faz com que LocalEnvironment e a mensagem sejam transmitidos ao nó XML_PASSENGERQUERY_OUT depois de serem modificados). |
|
GetReservationsInformation | Básico | Origem de dados | RESERVDB (Esse valor é o banco de dados utilizado por esse nó.) |
Básico | Módulo ESQL | GetReservationsInformation (Esse valor é o nome do módulo ESQL utilizado por esse nó durante o processamento. O nome deve corresponder ao nome na instrução CREATE COMPUTE MODULE no arquivo ESQL). |
|
Básico | Modo de computação | LocalEnvironment e Mensagem
(Esse valor faz com que LocalEnvironment e a mensagem sejam transmitidos ao nó XML_PASSENGERQUERY_OUT depois de serem modificados). |
|
XML_PASSENGERQUERY_OUT | Básico | Nome da fila (Não é necessário especificar o nome do gerenciador de filas porque a fila está definida no mesmo gerenciador de filas que o intermediário). |
XML_PASSENGERQUERY_OUT (Esse valor é a fila local na qual o fluxo de mensagens coloca a mensagem.) |
-- ************************************************ -- * ESQL para o fluxo de mensagens XML_PassengerQuery -- ************************************************ CREATE COMPUTE MODULE DecideOnQuery CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN SET OutputRoot = InputRoot; IF InputRoot.XMLNSC.PassengerQuery.ReservationNumber <> '' THEN SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'SinglePassenger'; ELSE SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'AllReservations'; END IF; RETURN TRUE; END; END MODULE; CREATE COMPUTE MODULE GetPassengerInformation CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN SET OutputRoot = InputRoot; SET OutputRoot.XMLNSC.PassengerQuery = NULL; -- preenche o ambiente com informações obre o passageiro a partir do banco de dados SET Environment.Variables = THE (SELECT T.* FROM Database.XMLPASSENGERTB AS T WHERE T.RESERVATIONNO = InputRoot.XMLNSC.PassengerQuery.ReservationNumber); -- preenche a mensagem de saída com informações a partir da consulta de banco de dados CREATE FIELD OutputRoot.XMLNSC.PassengerInfoResponse.PassengerInfo; DECLARE outpass REFERENCE TO OutputRoot.XMLNSC.PassengerInfoResponse.PassengerInfo; SET outpass.ReservationNumber = Environment.Variables.RESERVATIONNO; SET outpass.FirstName = Environment.Variables.FIRSTNAME; SET outpass.LastName = Environment.Variables.LASTNAME; SET outpass.FlightNumber = Environment.Variables.FLIGHTNO; SET outpass.Date = Environment.Variables.FLIGHTDATE; SET outpass.Class = Environment.Variables.CLASSTYPE; RETURN TRUE; END; END MODULE; CREATE COMPUTE MODULE GetReservationsInformation CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN SET OutputRoot = InputRoot; SET OutputRoot.XMLNSC.PassengerQuery = NULL; -- preenche o ambiente com informações de reserva a partir do banco de dados SET Environment.Variables.Reservation[] = (SELECT T.* FROM Database.XMLPASSENGERTB AS T WHERE T.FIRSTNAME = InputRoot.XMLNSC.PassengerQuery.FirstName AND T.LASTNAME = InputRoot.XMLNSC.PassengerQuery.LastName); -- preenche a mensagem de saída com informações a partir da consulta de banco de dados CREATE FIELD OutputRoot.XMLNSC.PassengerInfoResponse.ListOfReservations; DECLARE outres REFERENCE TO OutputRoot.XMLNSC.PassengerInfoResponse.ListOfReservations; DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(Environment.Variables.*[]); WHILE I <= J DO SET outres.Reservation[I].FlightNumber = Environment.Variables.Reservation[I].FLIGHTNO; SET outres.Reservation[I].Date = Environment.Variables.Reservation[I].FLIGHTDATE; SET outres.Reservation[I].Class = Environment.Variables.Reservation[I].CLASSTYPE; SET I = I + 1; END WHILE; RETURN TRUE; END; END MODULE;