Utilice el nodo MQInput para recibir mensajes de clientes que se conecten al intermediario utilizando la WebSphere MQ Enterprise Transport y que utilizan las interfaces de programación de aplicaciones MQI y AMI.
Este tema contiene las secciones siguientes:
El nodo MQInput recibe un mensaje de una cola de mensajes 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 han de 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 opciones 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.
Si incluye un nodo de salida en un flujo de mensajes que empieza con un nodo MQInput, el nodo de salida podrá ser cualquiera de los nodos de salida soportados, incluidos los nodos de salida definidos por el usuario; no es necesario 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 un 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 encuentra en la bandeja de WebSphere MQ de la paleta y está representado en el entorno de trabajo con el siguiente icono:
Los ejemplos sólo pueden verse cuando se utiliza el centro de información que está integrado en el Kit de herramientas de Message Brokers.
El nodo MQInput direcciona al terminal de salida (Out) todos los mensajes que recupera satisfactoriamente. Si esta acción falla, se reintenta el mensaje. Si se excede la cuenta de restituciones (según lo definido mediante el atributo BackoutThreshold de la cola de entrada), el mensaje se direcciona al terminal de anomalías (Failure); puede 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.
El tamaño del almacenamiento intermedio de MQGET lo implementa internamente el intermediario y no se puede cambiar. La siguiente descripción se proporciona únicamente a título informativo. No debe tenerla en cuenta al desarrollar los flujos de mensajes porque la implementación interna podría cambiar.
Cuando el nodo MQInput se inicializa, establece el tamaño del almacenamiento intermedio predeterminado para la primera MQGET en 4 KB. El nodo MQInput supervisa el tamaño de los mensajes y aumenta o reduce el tamaño del almacenamiento intermedio:
Por ejemplo, si el primer mensaje que el nodo recibe tiene 20 MB, y los 10 mensajes siguientes tienen 14 MB cada uno, el tamaño del almacenamiento intermedio se aumenta de 4 KB a 20 MB y permanece en 20 MB durante 10 mensajes. Sin embargo, después del décimo mensaje el tamaño del almacenamiento intermedio se reduce a 14 MB.
Cuando haya colocado un nodo MQInput en un flujo de mensajes, podrá configurarlo. Consulte Configurar un nodo de flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades. Para visualizar las propiedades del nodo en el diálogo Propiedades, efectúe una doble pulsación en el nodo o pulse con el botón derecho del ratón sobre el nodo y pulse Propiedades. Todas las propiedades obligatorias que no tienen un valor predeterminado aparecen con un asterisco.
Los terminales del nodo MQInput se describen en la tabla siguiente.
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 de nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); 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 propiedades de descripción del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo, MQInput | El nombre del nodo. |
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe la finalidad del nodo en el flujo de mensajes. |
En la tabla siguiente se describen las propiedades 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. Debe predefinir esta cola de WebSphere MQ al gestor de colas que contiene el intermediario al que se despliega el flujo de mensajes. |
En la tabla siguiente se describen las propiedades de Análisis de mensajes de entrada del nodo MQInput. Establezca valores para estas propiedades que describen el dominio de mensajes, el conjunto de mensajes, el tipo de mensaje y el formato de mensaje que el nodo utiliza, para determinar cómo analizar el mensaje de entrada.
<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, y el elemento <Msd> es un dominio válido, los valores de la cabecera MQRFH2 tienen prioridad.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | Dominio que se utiliza para analizar el mensaje de entrada. Están disponibles las opciones siguientes:
|
|
Conjunto de mensajes | No | No | Si utiliza el analizador MRM o IDOC, seleccione el nombre o el identificador del conjunto de mensajes en que se ha definido el mensaje de entrada. La lista de conjuntos de mensajes consta de los que están disponibles cuando selecciona MRM o IDOC como dominio. Deje Conjunto de mensajes en blanco para analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB. |
|
Tipo de mensaje | No | No | Si utiliza el analizador MRM, seleccione el tipo de mensaje de la lista. Esta lista contiene los mensajes que están definidos en el conjunto de
mensajes que ha seleccionado. Deje en blanco Tipo de mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC. |
|
Formato del mensaje | No | No | Si utiliza el analizador MRM o IDOC, seleccione el formato físico del mensaje de entrada de la lista. Esta lista incluye todos los formatos físicos que ha definido para este
conjunto de mensajes. Deje en blanco Formato del mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB. |
En la tabla siguiente se describen las propiedades de las Opciones de análisis para el nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Temporización del análisis | No | No | A petición | Esta propiedad controla cuándo se analiza un mensaje de entrada. Los valores válidos son A
petición, Inmediato
y Completo. De forma predeterminada, Temporización de análisis está establecido en A petición con lo cual el análisis del mensaje se retrasa. Para hacer que el mensaje se analice inmediatamente, consulte Análisis a petición. Si cambia este valor por Inmediato, el análisis parcial se altera temporalmente y se analizan y validan todos los elementos de mensaje, excepto los tipos complejos con una composición de Elección o Mensaje que no se pueden resolver en ese momento. Si cambia este valor a Completo, el análisis parcial se altera temporalmente y se analiza y valida todo lo contenido en el mensaje; los tipos complejos con una composición de Elección o Mensaje que no se pueden resolver en ese momento producen una anomalía de validación. |
Utilizar analizador compacto MQRFH2C para dominio MQRFH2 | Sí | No | No seleccionado | Esta propiedad controla si se utiliza el analizador compacto MQRFH2C, en lugar del analizador MQRFH2, para las cabeceras MQRFH2. Por omisión, este recuadro no está seleccionado, lo que significa que no se utiliza el analizador compacto. |
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | No seleccionado | Esta propiedad controla si el analizador compacto XMLNSC se utiliza para mensajes en el dominio XMLNS. Si se establece esta propiedad, los datos del mensaje aparecen bajo XMLNSC en nodos que estén conectados al terminal de salida cuando la cabecera MQRFH2 de entrada o el Dominio de mensajes de la propiedad de Análisis de mensaje de entrada sea XMLNS. Para obtener más información, consulte Manipular mensajes en el dominio XMLNSC. |
Retener el contenido mixto | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra texto mixto en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para el texto mixto. Si deselecciona el recuadro, el texto mixto se ignora y no se crea ningún elemento. |
Retener los comentarios | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra comentarios en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para los comentarios. Si deselecciona el recuadro, los comentarios se ignoran y no se crea ningún elemento. |
Retener las instrucciones de proceso | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra instrucciones de proceso en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para las instrucciones de proceso. Si deselecciona el recuadro, las instrucciones de proceso se ignoran y no se crea ningún elemento. |
En la tabla siguiente se describen las propiedades Avanzadas del nodo MQInput. Establezca estas propiedades para determinar cómo se procesa el mensaje como, por ejemplo, sus características transaccionales. Muchas de estas propiedades corresponden a opciones de la llamada MQGET.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Modalidad de transacción | Sí | No | Sí | Esta propiedad controla si el mensaje de entrada se recibe bajo punto de sincronismo. Los valores válidos son
Automático,
Sí y
No.
|
Modalidad de orden | Sí | No | Predeterminado | El orden en el que se recuperan y procesan
los mensajes de la cola de entrada. Los valores válidos son
Valor predeterminado, Por ID de usuario y
Por orden de cola. Esta propiedad sólo tiene efecto si la propiedad de flujo de mensajes Instancias
adicionales del separador Instancias, se ha establecido en un valor mayor que
cero; es
decir, si varias hebras leen la cola de entrada. Los valores válidos son:
|
Orden lógico | Sí | No | Seleccionado | Si selecciona este recuadro, los mensajes se reciben en orden
lógico, según lo definido por WebSphere MQ. Esta opción
corresponde a la opción MQGMO_LOGICAL_ORDER de MQGMO en MQI. Si deselecciona el recuadro, los mensajes que se envían 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 de selección, o bien el orden de los mensajes de entrada no es significativo o bien el flujo de mensajes debe diseñarse para que los procese de forma adecuada. También debe seleccionar Confirmar por grupo de mensajes si desea que el proceso de mensaje no se confirme hasta que se haya recibido y procesado el último mensaje del grupo. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ
|
Todos los mensajes disponibles | Sí | No | No seleccionado | Seleccione Todos los mensajes disponibles si desea que la recuperación y
el proceso de mensajes sólo se lleven a cabo cuando estén disponibles todos los mensajes del mismo grupo. Esta propiedad se corresponde con la opción
MQGMO_ALL_MSGS_AVAILABLE de la estructura MQGMO de la MQI. Deseleccione este recuadro de selección si la recuperación de mensajes no depende de que todos los mensajes de un grupo estén disponibles antes de
que el proceso se inicie. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ |
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. Especifique un identificador de mensaje si desea que el nodo de entrada reciba sólo aquellos mensajes que contengan un valor de identificador de mensaje coincidente en el campo MsgId de MQMD. 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 el identificador de mensajes asociado que especifica tiene un tamaño inferior al del campo MsgId, Coincidir con el ID del mensaje se rellena por la derecha con caracteres X'00'. Esta propiedad se corresponde con la opción MQMO_MATCH_MSG_ID de la estructura MQGMO de la MQI. Deje esta propiedad en blanco si no quiere que el nodo de entrada compruebe que el ID del mensaje coincida. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ |
|
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. Especifique un identificador de mensaje si desea que el nodo de entrada reciba sólo aquellos mensajes que contengan un valor de identificador de correlación coincidente en el campo CorrelId de MQMD. 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 propiedad se corresponde con la opción MQMO_MATCH_CORREL_ID de la estructura MQGMO de la MQI. Deje esta propiedad en blanco si no desea que el nodo de entrada compruebe si el CorrelID coincide. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ |
|
Convertir | Sí | No | No seleccionado | Si selecciona este recuadro,
WebSphere MQ convierte datos en el mensaje
que va a recibirse, de acuerdo con los valores de CodedCharSetId y Encoding
definidos en el MQMD. Seleccione
Convertir si desea que
WebSphere MQ realice la conversión de
datos en el mensaje cuando éste se recupera de la cola. Esta opción es útil
si está manejando mensajes en el dominio BLOB, o está utilizando un
analizador definido por el usuario. No seleccione esta opción si va a analizar mensajes
con los dominios XML o MRM porque el analizador realiza la conversión. 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 intermediario utiliza la opción MQGMO_CONVERT en la llamada MQGET; se aplican las normas comunes para la conversión WebSphere MQ. Los valores que que especifique en las opciones Convertir codificación y Convertir ID de juego de caracteres codificado se utilizan en los campos Codificación MsgDesc y CCSID de la llamada MQGET. WebSphere MQ puede convertir el mensaje entrante sólo si el campo Formato del MQMD es un valor WebSphere MQ incorporado que identifica datos de tipo carácter, o si existe una salida de conversión de datos en WebSphere MQ. 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 este recuadro de selección, también puede especificar:
Para obtener más información sobre la conversión de datos de WebSphere MQ, y para saber por qué debería elegir esta opción, consulte la sección Application Programming Guide de Centro de información en línea de WebSphere MQ Versión 6, o la publicación de la Versión 5.3 de página web de la biblioteca de WebSphere MQ. Si desea más información sobre los valores que puede especificar para Convertir codificación y Convertir ID de juego de caracteres codificado, consulte la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o la publicación de la Versión 5.3 en página web de la biblioteca de WebSphere MQ. |
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 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 Convertir. | |
Confirmar por grupo de mensajes | Sí | No | No seleccionado | Esta propiedad controla 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. Si no selecciona este recuadro, se
efectuará una confirmación para cada mensaje una vez haya sido propagado
completamente a través del flujo de mensajes. 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 se visualizan en la cola. |
Señal de serialización de z/OS | No | No | Sólo en z/OS: una 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. Especifique una señal de serialización si desea utilizar el acceso serializado a los recursos compartidos que proporciona WebSphere MQ. El valor que facilite para la señal de serialización ha de ajustarse a los normas descritas en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 de página web de la biblioteca de WebSphere MQ. Para obtener más información sobre serialización y compartimiento de colas en z/OS, consulte la publicación Concepts and Planning Guide de Centro de información en línea de WebSphere MQ Versión 6o la publicación de la Versión 5.3 en página web de la biblioteca de WebSphere MQ. |
|
Tema | No | Sí | El tema predeterminado del mensaje de entrada. Puede asociar un mensaje con un tema de publicación/suscripción utilizando esta propiedad. Como nombre del tema puede entrar cualquier número de caracteres. Cuando los mensajes pasan a través del nodo MQInput adoptan el nombre del
tema que se ha especificado. (Si está utilizando publicación/suscripción,
puede suscribirse a un tema y ver todos los mensajes que han pasado a través del nodo
MQInput y se han publicado con dicho nombre de
tema.) Si el mensaje de entrada tiene una cabecera MQRFH2, no es necesario
establecer un valor para la propiedad
Topic porque el valor puede
obtenerse de la carpeta <psc> en la cabecera
MQRFH2; por ejemplo: <psc><Topic>stockquote</Topic></psc>Si establece un valor para la propiedad Topic y este valor es distinto del valor de <Topic> en la cabecera MQRFH2, tiene prioridad el valor de la cabecera MQRFH2. |
Las propiedades de validación del nodo MQInput se describen en la siguiente tabla. Establezca estas propiedades si desea que el analizador valide el cuerpo de los mensaje para el Conjunto de mensajes. (Si un mensaje se propaga al terminal de anomalías del nodo, no se valida.)
Si desea ver información más detallada, consulte los apartados Validar mensajes y Propiedades de validación.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Validar | No | Sí | Ninguna | Esta propiedad controla si tiene lugar la validación. Los valores válidos son Ninguna, Contenido y Contenido y valor. |
Acción para anomalía | No | No | Excepción | Esta propiedad controla 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 | No | No | Seleccionado | Esta propiedad no se puede editar. Las comprobaciones de restricción de valor básicas se incluyen en la validación de Contenido y valor. |
Arreglo | No | No | Ninguna | Esta propiedad no se puede editar. |