Cuando el nodoJMSOutput recibe un mensaje JMS, llama al analizador JMSTransport para devolver una corriente de bits XML que contiene la sección JMSTransport del mensaje, para que se pueda examinar y procesar.
El nodo extrae los Metadatos_mensaje y obtiene la información de tipo de carga útil para identificar qué tipo de mensaje JMS se debe crear para la salida. Si la carpeta Metadatos_mensaje no existe, el nodo de salida crea un mensaje de bytes (BytesMessage) predeterminado.
El nodo JMSOutput extrae los datos de cabecera JMS de la serie de caracteres XML y utiliza estos datos para rellenar los valores para los campos de cabecera JMS del mensaje.
El nodo JMSOutput extrae los valores de propiedad de la serie de caracteres XML. Los elementos XML contienen información de tipo que identifica qué tipo de objeto Java™ se debe crear para cada valor de propiedad.
La carga útil del mensaje se obtiene del mensaje JMS como una corriente de bits. Para las cargas útiles de TextMessage y BytesMessage, se puede pasar directamente la corriente de bits a la API JMS para crear la carga útil apropiada.
Para las cargas útiles de MapMessage y StreamMessage, se deben extraer los elementos individuales de la corriente de bits XML. El nodo de salida llama al método API JMS apropiado para crear los campos de correlación o corriente de datos en el mensaje.
Para una carga útil de ObjectMessage, el nodo JMSOutput vuelve a serializar la carga útil de corriente de bits utilizando la clase de objeto. La clase de objeto debe estar disponible en la vía de acceso de clases Java para el intermediario. El vía de acceso de clases se define en el archivo de proceso por lotes mqsiprofile, que está en el directorio que contiene los archivos ejecutables para el intermediario, en Windows, el archivo es mqsiprofile.cmd en el directorio dir_instalación/bin.
Consulte el apartado Utilización de la Modalidad de destino de mensaje para obtener más información sobre cómo realizar estas tareas.
El mensaje se publica en el destino JMS que se ha especificado como propiedad del nodo JMSOutput. Sin embargo, si el campo de cabecera JMSReplyTo se establece en el mensaje JMS, el nodo JMSOutput trata el mensaje como respuesta a una solicitud anterior y publica el mensaje en el destino JMS de la petición anterior.