Este tema contiene las secciones siguientes:
Utilice el nodo MQInput para recibir mensajes de clientes que se conectan al intermediario utilizando WebSphere MQ Enterprise Transport y que utilizan las interfaces de programación de aplicaciones MQI y AMI.
El nodo MQInput recibe la entrada de mensajes en un flujo de mensajes desde una cola de mensajes de WebSphere MQ definida en el gestor de colas del intermediario. El nodo utiliza MQGET para leer un mensaje de la cola especificada y establecer el entorno de proceso para el mensaje. Si es adecuado, puede definir la cola de entrada como una cola compartida o una cola de clúster de WebSphere MQ.
Los flujos de mensajes que manejan los mensajes que se reciben a través de conexiones WebSphere MQ deben empezar siempre con un nodo MQInput. Puede establecer las propiedades del nodo MQInput para controlar el modo en que se reciben los mensajes, haciendo que se establezcan las propiedades MQGET apropiadas. Por ejemplo, puede indicar que un mensaje debe procesarse bajo control de transacciones. También puede solicitar que se realice la conversión de datos al recibir cada mensaje de entrada.
El nodo MQInput maneja los mensajes en los siguientes dominios de mensaje:
Si incluye un nodo de salida en un flujo de mensajes que empieza con un nodo MQInput, éste puede ser cualquiera de los nodos de salida soportados, incluidos los nodos de salida definidos por el usuario; no tiene que incluir un nodo MQOutput. Puede crear un flujo de mensajes que reciba mensajes de clientes WebSphere MQ y genere mensajes para clientes que utilizan cualquiera de los transportes soportados para conectarse al intermediario, porque puede configurar el flujo de mensajes para solicitar que el intermediario proporcione la conversión que sea necesaria.
Si crea un flujo de mensajes para utilizarlo como subflujo, no puede utilizar un nodo de entrada estándar; debe utilizar una instancia del nodo Input como el primer nodo, para crear un terminal de entrada para el subflujo.
Si el flujo de mensajes no recibe mensajes a través de conexiones de WebSphere MQ, puede elegir uno de los nodos de entrada soportados.
El nodo MQInput se representa en el entorno de trabajo con el siguiente icono:
Examine los ejemplos siguientes para ver cómo puede utilizar el nodo MQInput:
Una vez ha puesto una instancia del nodo MQInput en un flujo de mensajes, puede configurarlo. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. En el diálogo de propiedades aparecen las propiedades básicas del nodo.
Todas las propiedades obligatorias que no tienen valor por omisión aparecen con un asterisco.
Configure el nodo MQInput de la manera siguiente:
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
Si establece valores, y esos valores difieren de los de la cabecera MQRFH2, los valores de la cabecera MQRFH2 tienen prioridad.
Deje en blanco Conjunto de mensajes para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.
Deje en blanco Tipo de mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC.
Deje en blanco Formato del mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.
Consulte Configuración del nodo para manejar grupos de mensajes para obtener más detalles sobre esta opción.
Si deselecciona el recuadro, los mensajes enviados como parte de un grupo no se recibirán en un orden predeterminado. Si un intermediario espera recibir mensajes en grupos y no se ha seleccionado este recuadro, o bien el orden de los mensajes de entrada no es significativo o bien el flujo de mensajes debe designarse para que los procese de forma adecuada.
También debe seleccionar el recuadro Confirmar por grupo de mensajes si quiere que el proceso de mensajes no se confirme hasta que se haya recibido y procesado el último mensaje del grupo.
En el manual WebSphere MQApplication Programming Reference encontrará más información sobre las opciones con las que está correlacionada esta propiedad.
Consulte Configuración del nodo para manejar grupos de mensajes para obtener más detalles sobre esta opción.
En el manual WebSphere MQApplication Programming Reference encontrará más información sobre las opciones con las que está correlacionada esta propiedad.
Especifique un número par de dígitos hexadecimales (los caracteres válidos son: del 0 al 9, de la A a la F y de la a a la f) de 48 dígitos como máximo. Si al especificar el ID sobran espacios en el campo MsgId, se rellena por la derecha con caracteres X'00'. Esta opción corresponde a la opción MQMO_MATCH_MSG_ID de MQGMO en MQI.
Deje esta propiedad en blanco si no quiere que el nodo de entrada compruebe que el ID del mensaje coincida.
En el manual WebSphere MQApplication Programming Reference encontrará más información sobre las opciones con las que está correlacionada esta propiedad.
Especifique un número par de dígitos hexadecimales (los caracteres válidos son: del 0 al 9, de la A a la F y de la a a la f) de 48 dígitos como máximo. Si al especificar el ID sobran espacios en el campo CorrelId, se rellena por la derecha con caracteres X'00'. Esta opción corresponde a la opción MQMO_MATCH_CORREL_ID de MQGMO en MQI.
Deje esta propiedad en blanco si no quiere que el nodo de entrada compruebe que el ID del mensaje coincida.
En el manual WebSphere MQApplication Programming Reference encontrará más información sobre las opciones con las que está correlacionada esta propiedad.
WebSphere MQ convierte el mensaje de entrada a la codificación y juego de caracteres codificado especificado en el MQMD que el nodo de entrada proporciona en la llamada MQGET para recuperar el mensaje de la cola de entrada. El flujo de mensajes genera todos sus mensajes de salida utilizando estos valores y los coloca en las colas de destino con estos valores de Encoding y CodedCharSetID establecidos en el MQMD.
Esta opción corresponde a la opción MQGMO_CONVERT de MQGMO en MQI.
Quite la marca de selección del recuadro si no desea que WebSphere MQ realice la conversión del mensaje.
Si selecciona el recuadro, también puede especificar:
Si no especifica ningún valor, se utilizará el valor del MQMD del mensaje entrante.
Si especifica un valor incorrecto, no se llevará a cabo ninguna conversión.
Si no especifica ningún valor, se utilizará el valor del MQMD del mensaje entrante.
Si especifica un valor incorrecto, no se llevará a cabo ninguna conversión.
Para obtener más información sobre la conversión de datos de WebSphere MQ y sobre los motivos para decidir utilizar esta opción, consulte la publicación WebSphere MQ Application Programming Guide. Para más información sobre los valores que pueden especificarse para Convertir codificación y Convertir ID de juego de caracteres codificado, consulte la publicación WebSphere MQ Application Programming Reference.
Esta propiedad sólo es relevante si ha seleccionado Orden lógico.
Establezca la propiedad Modalidad de orden en Por orden de cola si los mensajes de un grupo deben recuperarse y procesarse en el orden en que aparecen en la cola.
El valor que proporcione para la señal de serialización debe ajustarse a las normas descritas en la publicación WebSphere MQ Application Programming Reference.
Para obtener más información sobre la serialización y el compartimiento de colas en z/OS, consulte la publicación WebSphere MQ Concepts and Planning Guide.
Si desea ver más información detallada, consulte los apartados Validar mensajes y Propiedades de validación para mensajes del dominio MRM.
Pulse Cancelar para cerrar el diálogo y descartar todos los cambios que ha efectuado en las propiedades.
MQInput direcciona cada mensaje que recupera satisfactoriamente al terminal de salida. Si esto falla, se vuelve a intentar. Si se excede el tiempo de espera (que lo define el atributo BackoutThreshold de la cola de entrada), el mensaje se direcciona al terminal de anomalías; no se pueden conectar nodos a este terminal para manejar esta condición. Si no ha conectado el terminal de anomalías, el mensaje se escribe en la cola de restitución.
Si este nodo capta este mensaje después de que se genere una excepción más adelante en el flujo de mensajes, el mensaje se direcciona al terminal de captación. Si no ha conectado el terminal de captación, el mensaje entra en un bucle continuo a través del nodo, hasta que se resuelve el problema. Debe definir una cola de restitución o una cola de mensajes no entregados (DLQ) para evitar el bucle continuo del mensaje a través del nodo.
Cuando incluye un nodo MQInput en un flujo de mensajes, el valor que establece para Modalidad de transacción define si los mensajes se reciben bajo punto de sincronización:
(El nodo MQOutput es el único nodo de salida que puede configurar para que prevalezca sobre esta opción.)
WebSphere MQ da soporte a los grupos de mensajes; puede especificar que un mensaje pertenezca a un grupo y que su proceso y el proceso de todos los demás mensajes del grupo se manejen como una transacción. Es decir, si falla el proceso en un mensaje del grupo, se restituyen todos los mensajes del grupo. El proceso del mensaje se confirma cuando se ha procesado satisfactoriamente el último mensaje del grupo, sólo si el proceso de todos los mensajes ha sido satisfactorio.
Si incluye mensajes en un grupo, y es importante que todos los mensajes dentro del grupo se lean de la cola y se procesen en el orden en que están definidos en el grupo, debe completar todas las acciones que se indican a continuación:
También debe asegurarse de que no haya otro flujo de mensajes que esté recuperando mensajes de la misma cola de entrada. De lo contrario, no se puede asegurar el orden en que se procesan los mensajes de un grupo.
En la tabla siguiente se describen los terminales del nodo MQInput.
Terminal | Descripción |
---|---|
Failure (de anomalías) | El terminal de salida al que se direcciona el mensaje si se produce un error. Aunque esté establecida la propiedad Validación, los mensajes propagados a este terminal no se validan. |
Out (de salida) | El terminal de salida al que se direcciona el mensaje si se recupera satisfactoriamente de la cola de WebSphere MQ. |
Catch (de captación) | El terminal de salida al que se direcciona un mensaje si se genera una excepción en sentido descendente y después este nodo la capta. |
Las tablas siguientes describen las propiedades del nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si tiene que entrar un valor cuando no hay definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo bar para desplegarlo).
En la tabla siguiente se describen las propiedad básicas del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nombre de cola | Sí | Sí | El nombre de la cola de entrada de WebSphere MQ de la que este nodo recupera mensajes (utilizando MQGET) para que los procese este flujo de mensajes. |
En la tabla siguiente se describen las propiedades por omisión del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | Dominio que se utilizará para analizar el mensaje de entrada. | |
Conjunto de mensajes | No | No | Nombre o identificador del conjunto de mensajes en el que se define el mensaje de entrada. | |
Tipo de mensaje | No | No | Nombre del mensaje de entrada. | |
Formato del mensaje | No | No | Nombre del formato físico del mensaje de entrada. | |
Tema | No | Sí | Tema por omisión del mensaje de entrada. |
En la tabla siguiente se describen las propiedades avanzadas del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Modalidad de transacción | Sí | No | Sí | Determina si el mensaje se recibe bajo punto de sincronización o no. Los valores válidos son Automática, Sí y No. |
Modalidad de orden | Sí | No | Valor por omisión | El orden en el que se recuperan y procesan los mensajes de la cola de entrada. Los valores válidos son Por omisión, Por ID de usuario y Por orden de cola. |
Orden lógico | Sí | No | Seleccionado | Determina si los mensajes se reciben en orden lógico, según lo definido por WebSphere MQ. Si selecciona el recuadro, se realizará esta acción. |
Todos los mensajes disponibles | Sí | No | No seleccionado | Si selecciona el recuadro, todos los mensajes de un grupo deben estar disponibles para poder recuperar un mensaje. |
Coincidir con el ID del mensaje | No | No | Un ID de mensajes debe coincidir con el ID de mensaje en el MQMD del mensaje de entrada. | |
Coincidir con el ID de correlación | No | No | Un ID de correlación debe coincidir con el ID de correlación en el MQMD del mensaje de entrada. | |
Convertir | Sí | No | No seleccionado | Determina si WebSphere MQ convierte datos en el mensaje que va a recibirse, de acuerdo con los valores de CodedCharSetId Encoding definidos en el MQMD. Si selecciona el recuadro, se realizará esta acción. |
Convertir codificación | No | No | La representación utilizada para valores numéricos en los datos del mensaje, expresada como un valor entero. Esta propiedad sólo es válida si ha seleccionado el recuadro Convertir. | |
Convertir ID de juego de caracteres codificado | No | No | El identificador del juego de caracteres codificado de los datos de tipo carácter del mensaje, expresado como un valor entero. Esta propiedad sólo es válida si ha seleccionado el recuadro Convertir. | |
Confirmar por grupo de mensajes | Sí | No | No seleccionado | Determina cuándo se confirma una transacción al procesar mensajes que formen parte de un grupo de mensajes. Si selecciona el recuadro, la transacción se confirma cuando se ha procesado el grupo de mensajes. |
Señal de serialización de z/OS | No | No | Señal definida por el usuario para el soporte de aplicación serializado. El valor especificado se debe ajustar a las normas para un ConnTag válido en la estructura MQCNO de WebSphere MQ. Estas normas se describen en la publicación WebSphere MQ Application Programming Reference. |
En la tabla siguiente se describen las propiedades de validación del nodo MQInput.
Consulte Propiedades de validación para mensajes del dominio MRM para obtener una descripción completa de estas propiedades.Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Validar | Sí | Sí | Ninguna | Determina si se realiza la validación. Los valores válidos son Ninguno, Contenido y Contenido y valor. |
Acción para anomalía | Sí | No | Excepción | Determina qué sucede si falla la validación. Sólo puede establecer esta propiedad si establece Validar en Contenido o Contenido y valor. Los valores válidos son Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones. |
Incluir todas las limitaciones de valor | Sí | No | Seleccionado | Esta propiedad no se puede editar. La acción por omisión, indicada por el recuadro de selección marcado, es que se incluyan comprobaciones de restricción de valor básicas en la validación de Contenido y valor. |
Arreglo | Sí | No | Ninguna | Esta propiedad no se puede editar. |
En la tabla siguiente se describen las propiedades de las Opciones de mensajes generales para el nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Temporización del análisis | Sí | No | A petición | Esta propiedad le proporciona control sobre cuándo se analiza un
mensaje de entrada. Los valores válidos son A
petición, Inmediato
y Completo. Consulte Análisis a petición para obtener una descripción completa de esta propiedad. |
Utilizar analizador compacto MQRFH2C para dominio MQRFH2 | Sí | No | No | Esta propiedad permite controlar si se utiliza el analizador compacto MQRFH2C, en lugar del analizador MQRFH2, para las cabeceras MQRFH2. |
En la tabla siguiente se describen las propiedades de las opciones de analizador XMLNSC para el nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Utilizar analizador compacto XMLNSC para dominio XMLNS | Sí | No seleccionado | No | ![]() ![]() |
Modalidad de retención de contenido mixto | Sí | No | Ninguna | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra texto mixto en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para el texto mixto. Si se selecciona Ninguno, significa que el texto mixto se ignora y no se crea ningún elemento. |
Modalidad de retención de comentarios | Sí | No | Ninguna | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra comentarios en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para los comentarios. Si se selecciona Ninguno, significa que se ignoran los comentarios y no se crean elementos. |
Modalidad de retención de instrucciones de proceso | Sí | No | Ninguna | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra instrucciones de proceso en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para las instrucciones de proceso. Si se selecciona Ninguno, significa que se ignoran las instrucciones de proceso y no se crean elementos. |
En la tabla siguiente se describen las propiedades de Descripción del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe el propósito del nodo en el flujo de mensajes. |