Estendendo a Amostra de Nós do Cliente TCPIP
Essa extensão demonstra como estender a amostra para incorporar um servidor TCP/IP separado
independente, em vez de o fluxo TCPIPServerSimulation descrito na amostra assíncrona, que é configurado para
ecoar dados de volta a um cliente de conexão.
Esta extensão também demonstra como substituir algumas das propriedades de conexão utilizando o ambiente local.
Visão geral da extensão da amostra:
- A mensagem de entrada colocada na fila TCPIP_ASYNC_IN pode ser modificada para conter informações
sobre o nome do host e a porta do servidor TCP/IP.
- O nó JavaCompute no fluxo TCPIPAsyncOut copia estas informações no ambiente local.
- O nó TCPIPClientOutput é configurado na guia Pedido na visualização
Propriedades para poder aceitar substituições para determinados detalhes da conexão do ambiente local.
As substituições de porta, nome de host ou ambas, estão presentes no ambiente local, fazendo com que o nó TCPIPClientOutput busque uma conexão utilizando os detalhes no ambiente local.
- A mensagem pode então ser dinamicamente roteada para o seu servidor TCP/IP sem nenhuma modificação no fluxo de mensagem TCPIPAsyncOut.
- Os novos detalhes da conexão também devem ser configurados no nó TCPIPClientInput no fluxo de mensagens TCPIPAsyncIn, para garantir que este nó receba uma resposta do servidor TCP/IP.
- Uma mensagem de entrada de amostra e o arquivo .mbtest são fornecidos
com a amostra e supõem que seu servidor TCP/IP esteja atendendo em localhost:7778.
Executando a extensão da amostra:
- Modifique os fluxos de menagens para se comunicar com seu servidor TCP/IP usando uma das opções a
seguir:
- Se seu servidor TCP/IP estiver atendendo em localhost:7778, modifique a propriedade
Detalhes da conexão do nó TCPIPClientInput no fluxo de mensagens TCPIPAsyncIn para
localhost:7778. Salve o fluxo de mensagens.
- Se seu servidor TCP/IP não estiver atendendo em localhost:7778, execute as etapas a seguir:
- No TCPIPClientNodesSampleFlowProject, abra o arquivo AsyncExtendMessage.xml.
- Modifique AsyncExtendMessage.xml para alterar a porta, o nome do host,
ou ambos, de localhost:7778 para a porta na qual o seu servidor TCP/IP está atendendo. Salve o arquivo.
- Abra TCPIPAsyncExtendTest.mbtest. Clique em
Enfileirar, clique em Importar Origem
e importe AsyncExtendMessage.xml.
Salve este arquivo de teste.
- Modifique a propriedade Detalhes da conexão do nó TCPIPClientInput no fluxo de
mensagens TCPIPAsyncIn para corresponder àqueles de sua mensagem de teste.
Salve o fluxo de mensagens.
- Assegure que o arquivo BAR TCPIPClientNodesSampleArchive.bar contenha os
fluxos de mensagens assíncronos, em vez de os síncronos.
Se tiver modificado os fluxos, conforme mostrado na etapa anterior, reconstrua e salve o arquivo BAR:
- No WebSphere Message Broker Toolkit, selecione e abre o
TCPIPClientNodesSampleArchive.bar com o editor de Archive do Broker.
Selecione a guia Preparar e clique em Construir Archive do Intermediário.
Salve o arquivo BAR.
- Implemente o arquivo BAR em TCPIPClientNodesSampleExecutionGroup.
- Abra TCPIPAsyncExtendTest.mbtest, clique em Enfileirar e clique em Enviar Mensagem. Os seguintes eventos ocorrem:
- A mensagem modificada é enviada para o fluxo de mensagens TCPIPAsyncIn.
- O nó JavaCompute copia o nome do host e a porta atualizados no ambiente local
($LocalEnvironment/Destination/TCPIP/Output/).
- O nó TCPIPClientOutput envia os dados utilizando os Detalhes da Conexão
que foram substituídos no ambiente local.
- O servidor TCP/IP coleta os dados e os ecoa de volta na mesma porta.
- Esses dados são recebidos pelo nó TCPIPClientInput no fluxo de mensagens TCPIPAsyncIn, que processa
os dados da mesma forma em que processou os dados na amostra assíncrona.
- Clique em Retirar da Fila e, em seguida, clique em
Obter Mensagem.
- Verifique se a mensagem atualizada foi enviada de volta sobre o WebSphere MQ com êxito:
- Visualize a mensagem de resposta no painel Propriedades Detalhadas utilizando a visualização Estrutura XML.
- Compare esta mensagem com a mensagem enviada anteriormente através do evento Enfileirar.
A menos que o servidor TCP/IP tenha alterado o corpo da mensagem, as duas mensagens são idênticas.
Se todas as etapas anteriores forem bem-sucedidas, a amostra estará completa.
Consulte os nós nos três fluxos de mensagens para visualizar como os resultados foram alcançados.
A propriedade Detalhes da Conexão na guia Básico é semelhante à captura de tela a seguir:
Voltar para Home da Amostra