Sobre o Fluxo de Mensagens XML_FlightQueryReply
O XML_FlightQueryReply é o fluxo de mensagens de resposta no exemplo de agregação,
XML_FlightQuery.
O XML_FlightQuery é construído a partir de três fluxos de mensagens curtos que se comunicam obtendo, agregando e colocando mensagens nas filas locais do WebSphere MQ. Os três fluxos de mensagens do XML_FlightQuery
são:
- XML_FlightQueryOut, o fluxo de mensagens fan-out, que gera e difunde dois
pedidos relacionados de informações sobre vôos e informações sobre passageiros, consulte
Sobre o fluxo de mensagens XML_FlightQueryOut.
- XML_FlightQueryReply, que localiza as informações necessárias para responder aos dois
pedidos.
- XML_FlightQueryIn, o fluxo de mensagens fan-in, que combina as respostas em
uma única mensagem de resposta, consulte Sobre o
fluxo de mensagens XML_FlightQueryIn.
A mensagem de entrada XML_FlightQuery solicita informações sobre um vôo
específico, e os detalhes sobre passageiros que reservaram assentos nesse vôo.
O diagrama a seguir mostra o fluxo de mensagens XML_FlightQueryReply.

A tabela a seguir lista os tipos de nós que são utilizados no fluxo de mensagens XML_FlightQueryReply.
Tipo de Nó |
Nome de Nó |
MQInput |
XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
Compute |
GetFlightDetails; GetPassengerDetails |
MQReply |
MQMD_ReplyToQ |
MQOutput |
XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2 |
Para obter mais informações sobre os nós usados nesta amostra, consulte
Nós integrados na documentação do
WebSphere Message Broker.
Para consultar o ESQL utilizado nesse fluxo de mensagens, consulte Criando o fluxo de mensagens XML_FlightQueryReply.
O fluxo de mensagens XML_FlightQueryReply executa as seguintes ações:
- O nó XML_FLIGHTQUERY_FLIGHT obtém a mensagem de pedido da fila
XML_FLIGHTQUERY_FLIGHT, em seguida transmite a mensagem de pedido através do terminal Out
para o nó GetFlightDetails.
Alternativamente, se uma exceção tiver produzido um recebimento de dados e a
mensagem tiver sido retornada para cá, o nó XML_FLIGHTQUERY_FLIGHT transmite a mensagem
através do terminal Catch para o nó XML_FLIGHTQUERY_FAIL_1.
- O nó XML_FLIGHTQUERY_PASSENGERS obtém a mensagem de pedido da fila
XML_FLIGHTQUERY_PASSENGERS, em seguida transmite a mensagem de pedido através ao terminal
Out para o nó GetPassengerDetails.
Alternativamente, se uma exceção tiver produzido recebimento de dados e a
mensagem tiver sido retornada, o nó XML_FLIGHTQUERY_PASSENGERS transmite a mensagem
através do terminal Catch para o nó XML_FLIGHTQUERY_FAIL_2, que coloca a mensagem na
fila XML_FLIGHT_QUERY_FAIL.
- O nó GetFlightDetails acessa a tabela XMLFLIGHTTB no banco de dados RESERVDB
para obter informações sobre o vôo especificado na mensagem de pedido, e anexa às
informações da mensagem de pedido sobre capacidade, assentos alocados e preços de
Classe Econômica e Primeira Classe, e informações sobre a origem e o destino do vôo.
- O nó GetFlightDetails transmite a mensagem de pedido modificada através do
terminal Out para MQMD_ReplyToQ.
- O nó GetPassengerDetails acessa a tabela XMLPASSENGERTB no banco de dados
RESERVDB para obter informações sobre os passageiros que fizeram reservas no vôo
especificado na mensagem de pedido, e anexa à mensagem de pedido em uma lista de
passageiros que fizeram reservas no vôo.
- O nó GetPassengerDetails transmite a mensagem de pedido modificada através do
terminal Out para MQMD_ReplyToQ.
- O nó MQMD_ReplyTo verifica no cabeçalho MQMD da mensagem os valores ReplyToQ e
ReplyToQMgr.
O valor de ReplyToQ é XML_FLIGHTQUERY_REPLIES e o valor de ReplyToQMgr é WBRK61_DEFAULT_QUEUE_MANAGER.
- O nó MQMD_ReplyTo coloca a mensagem na fila XML_FLIGHTQUERY_REPLIES.
Esse nome da fila não está nas propriedades do nó; está no cabeçalho MQMD da mensagem.
O fluxo de mensagens XML_FlightQueryIn continua a agregação, consulte
Sobre o fluxo de mensagens XML_FlightQueryIn.
Voltar para a amostra Sobre as Reservas Aéreas