Utilize as instruções a seguir para criar o fluxo de mensagens XML_FlightQueryReply. Para obter instruções mais detalhadas, clique nos links fornecidos no final de cada etapa.
Antes de criar o fluxo de mensagens XML_FlightQueryReply, é necessário criar o fluxo de mensagens XML_FlightQueryOut. Para obter instruções, consulte Criando o Fluxo de Mensagens XML_FlightQueryOut.
Para criar e configurar o fluxo de mensagens XML_FlightQueryReply:
Gavetas de Paleta | Tipo de Nó | Nome de Nó |
---|---|---|
WebSphere MQ | MQInput | XML_FLIGHTQUERY_FLIGHT |
WebSphere MQ | MQInput | XML_FLIGHTQUERY_PASSENGERS |
WebSphere MQ | MQOutput | XML_FLIGHTQUERY_FAIL_1 |
WebSphere MQ | MQOutput | XML_FLIGHTQUERY_FAIL_2 |
WebSphere MQ | MQReply | MQMD_ReplyToQ |
Transformação | Compute | GetFlightDetails |
Transformação | Compute | GetPassengerDetails |
Nome de Nó | Terminal | Conectar a |
---|---|---|
XML_FLIGHTQUERY_FLIGHT | Out | GetFlightDetails |
Catch | XML_FLIGHTQUERY_FAIL_1 | |
XML_FLIGHTQUERY_PASSENGERS | Out | GetPassengerDetails |
Catch | XML_FLIGHTQUERY_FAIL_2 | |
GetFlightDetails | Out | MQMD_ReplyToQ |
GetPassengerDetails | Out | MQMD_ReplyToQ |
Nome de Nó | Ativo | Propriedade | Valor |
---|---|---|---|
XML_FLIGHTQUERY_FLIGHT | Básico | Nome da fila | XML_FLIGHTQUERY_FLIGHT (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_FLIGHTQUERY_PASSENGERS | Básico | Nome da fila | XML_FLIGHTQUERY_PASSENGERS (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.) |
|
GetFlightDetails | Básico | Origem de dados | RESERVDB (Esse valor é o banco de dados utilizado por esse nó). |
Básico | Módulo ESQL | GetFlightDetails (Esse valor é o nome do módulo ESQL usado por esse nó durante o processamento. O nome deve corresponder ao nome na instrução CREATE COMPUTE MODULE no arquivo ESQL). |
|
GetPassengerDetails | Básico | Origem de dados | RESERVDB (Esse valor é o banco de dados utilizado por esse nó). |
Básico | Módulo ESQL | GetPassengerDetails (Esse valor é o nome do módulo ESQL usado por esse nó durante o processamento. O nome deve corresponder ao nome na instrução CREATE COMPUTE MODULE no arquivo ESQL). |
|
XML_FLIGHTQUERY_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_FLIGHTQUERY_FAIL (Esse valor é onde o fluxo de mensagens coloca a mensagem se o processamento falhar.) |
XML_FLIGHTQUERY_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_FLIGHTQUERY_FAIL (Esse valor é onde o fluxo de mensagens coloca a mensagem se o processamento falhar.) |
MQMD_ReplyToQ | Não é necessário configurar nenhuma propriedade para esse nó. O nó usa os campos ReplyToQ e ReplyToQMgr no cabeçalho MQMD da mensagem. |
-- ************************************************ -- * ESQL para os fluxos de mensagens XML_FlightQuery -- ***************************************************** CREATE COMPUTE MODULE GetFlightDetails CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN SET OutputRoot = InputRoot; SET OutputRoot.XMLNSC.FlightQuery = NULL; CREATE FIELD OutputRoot.XMLNSC.Flight; DECLARE outflight REFERENCE TO OutputRoot.XMLNSC.Flight; DECLARE query REFERENCE TO InputRoot.XMLNSC.FlightQuery; -- preenche a mensagem de saída com informações sobre o vôo a partir do banco de dados SET OutputRoot.XMLNSC.Flight[] = (SELECT T.* FROM Database.XMLFLIGHTTB AS T WHERE T.FLIGHTNO = query.FlightNumber AND T.FLIGHTDATE = query.FlightDate); SET outflight.STARTPOINT = TRIM(outflight.STARTPOINT); SET outflight.ENDPOINT = TRIM(outflight.ENDPOINT); RETURN TRUE; END; END MODULE; CREATE COMPUTE MODULE GetPassengerDetails CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN SET OutputRoot = InputRoot; SET OutputRoot.XMLNSC.FlightQuery = NULL; CREATE FIELD OutputRoot.XMLNSC.ListOfPassengers; DECLARE outpass REFERENCE TO OutputRoot.XMLNSC.ListOfPassengers; DECLARE query REFERENCE TO InputRoot.XMLNSC.FlightQuery; -- preenche a mensagem de saída com informações sobre o passageiro a partir do banco de dados SET outpass.PassengerDetails[] = (SELECT T.* FROM Database.XMLPASSENGERTB AS T WHERE T.FLIGHTNO = query.FlightNumber AND T.FLIGHTDATE = query.FlightDate); DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(outpass.*[]); WHILE I <= J DO SET outpass.PassengerDetails[I].LASTNAME = TRIM(outpass.PassengerDetails[I].LASTNAME); SET outpass.PassengerDetails[I].FIRSTNAME = TRIM(outpass.PassengerDetails[I].FIRSTNAME); SET I = I + 1; END WHILE; RETURN TRUE; END; END MODULE;