Quando o nó JMSOutput recebe uma mensagem JMS, ele chama o analisador JMSTransport para retornar um fluxo de bits XML contendo a seção JMSTransport da mensagem. O nó extrai Message_MetaData e obtém as informações de tipo de carga útil para identificar qual tipo de mensagem JMS será criado para saída. Se a pasta Message_MetaData não estiver presente, o nó output criará um BytesMessage por padrão.
O nó JMSOutput extrai os dados de cabeçalho JMS da cadeia XML e utiliza estes dados para ocupar os valores para os campos de cabeçalho JMS na mensagem.
O nó JMSOutput extrai os valores da propriedade da cadeia XML. Os elementos XML contêm informações de tipo que identificam qual tipo de Objeto Java será criado para cada valor da propriedade.
A carga útil da mensagem é obtida da mensagem como um fluxo de bits. Para cargas úteis de TextMessage e de BytesMessage, o fluxo de bits pode ser transmitido para a API JMS diretamente para criar a carga útil apropriada.
Para as cargas úteis de MapMessage e StreamMessage, os elementos individuais devem ser extraídos do fluxo de bits XML. O nó output chama o método da API JMS apropriado para criar os campos de mapa ou de fluxo na mensagem.
Para uma carga útil de ObjectMessage, o nó JMSOutput serializa
novamente a carga útil do fluxo de bits utilizando a classe de objeto. A classe de objeto deve estar disponível no caminho de classe Java do intermediário.O caminho de classes está definido no arquivo em lote
mqsiprofile, que está no diretório executável do intermediário;
por exemplo, no Windows, é o mqsiprofile.cmd no diretório
install_dir/bin.
A mensagem é publicada no destino JMS que foi especificado como um atributo do nó JMSOutput. No entanto, se o campo de cabeçalho JMSReplyTo estiver configurado na mensagem JMS, o nó JMSOutput tratará a mensagem como uma resposta a um pedido anterior e publicará a mensagem no destino JMS do pedido anterior.