Este tema contiene las secciones siguientes:
Utilice el nodo MQGet 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 MQGet también se puede utilizar para recuperar mensajes que se colocaron anteriormente en una cola de mensajes de WebSphere MQ que se define en el gestor de colas del intermediario.
El nodo MQGet lee un mensaje de una cola especificada y establece 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.
Un nodo MQGet puede utilizarse en cualquier lugar de un flujo de mensajes, a diferencia de un nodo MQInput que sólo se puede utilizar como el primer nodo de un flujo de mensajes. El árbol de mensaje de salida de un nodo MQGet se construye combinando el árbol de entrada con el árbol de resultado de la llamada MQGET. Puede establecer las propiedades del nodo MQGet para controlar el modo en que se reciben los mensajes. Por ejemplo, puede indicar que un mensaje se debe procesar bajo el control de transacción o puede solicitar que, cuando se esté creando el árbol de resultado, se realice la conversión de datos al recibir cada mensaje de entrada.
El nodo MQGet maneja los mensajes en los siguientes dominios de mensaje:
El nodo MQGet se representa en el entorno de trabajo mediante el siguiente icono:
Examine las descripciones y los ejemplos siguientes para ver cómo puede utilizar el nodo MQGet en un flujo de mensajes:
Cuando haya puesto una instancia del nodo MQGet 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. Las propiedades básicas del nodo se visualizan en el diálogo de propiedades.
Todas las propiedades obligatorias se marcan con un asterisco en el diálogo de propiedades.
Configure el nodo MQGet realizando lo 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, IDOC, MIME y BLOB.
Deje en blanco Formato del mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.
Si desea ver más información detallada, consulte los apartados Validar mensajes y Propiedades de validación para mensajes del dominio MRM.
Puede entrar cualquier referencia de campo ESQL válida - esta referencia puede incluir expresiones - incluyendo referencias de campo nuevas para crear un nodo nuevo dentro del árbol de mensaje para insertar la respuesta en el mensaje que se propaga desde el árbol de entrada.
Por ejemplo, OutputRoot.XMLNS.ABC.DEF y Environment.GotReply son referencias de campo válidas. Consulte Utilización de un nodo MQGet en un flujo de petición-respuesta si desea ver más información detallada.
Cuando la serie de bits de mensaje recuperada se analiza para crear el contenido del árbol de mensaje, se utilizan las propiedades de mensaje que ha especificado como propiedades predeterminadas del nodo.
Puede entrar cualquier referencia de campo ESQL válida (consulte la descripción de la propiedad Ubicación de datos de salida). Los datos que se ponen en esta ubicación son siempre el árbol de resultado completo, con el cuerpo como elemento BLOB. Ubicación de datos de resultado no se utiliza para los datos de aviso.
Si cambia este valor a 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 lo cambia por Completo, el análisis parcial se altera y se analizan y validan todos los elementos del 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.
Para obtener más detalles, consulte Propiedades de validación para mensajes del dominio MRM.
Marque el recuadro de selección Utilizar analizador compacto MQRFH2C si desea que se utilice el analizador MQRFH2C. Por omisión, este recuadro de selección está borrado, lo que significa que no se utiliza el analizador compacto.
Si desea ver más información, consulte el apartado Manipular mensajes utilizando el analizador XMLNSC.
Pulse Cancelar para cerrar el diálogo y eliminar todos los cambios que ha efectuado en las propiedades.
Conecte los terminales de salida sin mensaje (No Message), de anomalías (Failure), de aviso (Warning) y de salida (Out) de este nodo a otro nodo del flujo de mensajes si desea procesar el mensaje adicionalmente, procesar errores o enviar el mensaje a un destino adicional.
Lo que se propaga de cada uno de los terminales de salida depende del código de condición (CC) generado por la llamada MQGET.
Si la llamada MQGET se realiza satisfactoriamente, el nodo MQGet direcciona cada mensaje de salida analizado al terminal de salida (Out).
Si la llamada MQGET falla, pero con un CC que indica un aviso, se propagará un mensaje de salida no analizado al terminal de aviso.
Si la llamada MQGET falla, con un CC más grave que un aviso, el mensaje de entrada se propagará al terminal de anomalías (Failure).
Si la llamada MQGET falla, con un código de
razón de MQRC_NO_MSG_AVAILABLE, el mensaje de salida se propagará (sin un
cuerpo de resultado) al terminal sin mensaje (No Message). El mensaje de
salida que se propaga al terminal sin mensaje (No Message) se construye a
partir del mensaje de entrada únicamente, según los valores de las
propiedades Modalidad de generación y Copiar mensaje, o Copiar entorno
local.
Si no conecta los terminales de salida, aviso o sin mensaje a otro nodo del flujo de mensajes, se descartará cualquier cosa que se propague a dichos terminales.
Si no conecta el terminal de anomalías a otro nodo del flujo de mensajes, el intermediario genera una excepción cuando se propaga cualquier cosa a dicho terminal.
Consulte Conectar terminales de anomalías para obtener más información.
Cuando se incluye un nodo MQGet en un flujo de mensajes, el valor que se establece para Modalidad de transacción define si los mensajes se reciben bajo el punto de sincronización:
En la tabla siguiente se describen los terminales del nodo MQGet.
Terminal | Descripción |
---|---|
Entrada | Terminal de entrada que acepta el mensaje que está siendo procesado el flujo de mensajes. |
Aviso | Terminal de salida al que se propaga el árbol de salida si se produce un error (con un CC que indica un aviso) en el nodo mientras se intenta obtener un mensaje de la cola. La parte MQMD del mensaje se analiza, pero el resto del mensaje es un elemento BLOB no analizado. El aviso se descarta si el terminal no está conectado y no se produce ninguna propagación de salida del nodo en absoluto. |
De anomalías | Terminal de salida al que se direcciona el mensaje de entrada si se produce un error (con un CC que indica un error que es más grave que un aviso) en el nodo mientras se intenta obtener un mensaje de la cola. |
De salida | El terminal de salida al que se direcciona el mensaje si se recupera satisfactoriamente de la cola de WebSphere MQ. |
Sin mensaje | ![]() ![]() |
Las tablas siguientes describen las propiedades de nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si debe entrar un valor), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor al añadir el flujo de mensajes al archivo bar para desplegarlo).
En la tabla siguiente se describen las propiedades Básicas del nodo MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de cola | Sí | Sí | Ninguno | Nombre de la cola de mensajes de WebSphere MQ de la que este nodo recupera mensajes. |
En la tabla siguiente se describen las propiedades predeterminadas del nodo MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | Ninguno | Dominio que se utilizará para analizar el mensaje que se obtiene de la cola de mensajes. |
Conjunto de mensajes | No | No | Ninguno | Nombre o identificador del conjunto de mensajes en el que se define el mensaje que se obtiene de la cola de mensajes. |
Tipo de mensaje | No | No | Ninguno | Nombre del mensaje que se obtiene de la cola de mensajes. |
Formato del mensaje | No | No | Ninguno | Nombre del formato físico del mensaje que se obtiene de la cola de mensajes. |
En la tabla siguiente se describen las propiedades Avanzadas del nodo MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Modalidad de transacción | No | No | Sí | Determina si el mensaje se recibe bajo punto de sincronización o no. Los valores válidos son Automático, Sí y No. |
Modalidad de generación | No | No | Mensaje | Determina qué partes del mensaje del árbol de entrada se copian. Los valores válidos son Mensaje, Entorno local, Mensaje y entorno local y Ninguno. |
Copiar mensaje | No | No | Ninguno | Determina qué partes del mensaje del árbol de entrada se copian. Los valores válidos son Ninguno, Copiar cabeceras y Copiar mensaje completo. |
Copiar entorno local | No | No | Determina qué partes del mensaje del árbol de entrada se copian. Los valores válidos son Ninguno, y Copiar entorno local completo. El valor predeterminado es Copiar entorno local completo. | |
Intervalo de espera | Sí | No | 1000 | Tiempo máximo, en milisegundos, que se debe esperar a que se obtenga el mensaje de la cola de mensajes. |
Tamaño mínimo del almacenamiento intermedio de mensajes | Sí | No | 4 | Tamaño mínimo, en kilobytes, del almacenamiento intermedio de obtención. El valor mínimo de esta propiedad es 1 kilobyte. |
En la tabla siguiente se describen las propiedades de Validación del nodo MQGet.
Consulte Propiedades de validación para mensajes del dominio MRM para obtener una descripción completa de estas propiedades.Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Validar | No | Sí | Ninguno | Determina si se realiza la validación. Los valores válidos son Ninguno, Contenido, Contenido y valor y Heredar. |
Acción para anomalía | No | 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 | No | No | True (verdadero) | Esta propiedad no se puede editar. La acción predeterminada, indicada por el recuadro de selección marcado, es que se incluyan las comprobaciones de restricción de valor básicas en la validación de Contenido y valor. |
Arreglo | No | No | Ninguno | Esta propiedad no se puede editar. |
En la tabla siguiente se describen las propiedades de Petición del nodo MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Ubicación del MQMD de entrada | No | No | Especifica en qué lugar del mensaje ensamblado de entrada se puede encontrar el MQMD que se debe utilizar para MQGET. La ubicación predeterminada es InputRoot.MQMD. | |
Ubicación de parámetros MQ de entrada | No | No | Especifica en qué lugar del mensaje ensamblado de entrada se pueden encontrar los parámetros MQ (por ejemplo el tamaño de almacenamiento intermedio inicial y las alteraciones temporales de MQGMO). La ubicación predeterminada es InputLocalEnvironment.MQ.GET. | |
Obtener por ID de correlación | No | No | False (falso) | Cuando se selecciona, este recuadro hace que sólo se obtengan los mensajes que tienen el ID de correlación especificado. |
Obtener por ID de mensaje | No | No | False (falso) | Cuando se selecciona, este recuadro hace que sólo se obtengan los mensajes que tienen el ID de mensaje especificado. |
Utilice MQMD de entrada completo | No | No | False (falso) | Cuando se selecciona, este recuadro hace que se utilice el MQMD completo. De lo contrario, sólo se utilizarán el ID de mensaje y el ID de correlación. |
En la tabla siguiente se describen las propiedades de Resultado del nodo MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Ubicación de datos de salida | No | No | OutputRoot | Especifica dónde se ponen los datos de salida. Si se deja en blanco, se utiliza OutputRoot como valor predeterminado. |
Ubicación de datos de resultado | No | No | ResultRoot | Especifica qué subárbol (del mensaje recuperado) se debe utilizar. Si se deja en blanco, se utiliza ResultRoot como valor predeterminado y se utiliza el mensaje recuperado entero. Por ejemplo, si se especifica ResultRoot.MQMD.ReplyToQ, sólo se utiliza ese subárbol. |
Ubicación de parámetros MQ de salida | No | No | Especifica dónde están ubicados los parámetros MQ de salida. Si se deja en blanco, se utiliza OutputLocalEnvironment.MQ.GET como valor predeterminado. Se deberá establecer la Modalidad de generación de forma que incluya el Entorno local para asegurase de que estén visibles los valores actualizados en los nodos en sentido descendente. La ubicación predeterminada es OutputLocalEnvironment.MQ.GET. | |
Ubicación de datos de aviso | No | No | OutputRoot | Especifica dónde se ponen los datos de salida si MQGET devuelve un código de aviso. Si se deja en blanco, se utiliza OutputRoot como valor predeterminado. |
En la tabla siguiente se describen las propiedades de las Opciones de mensajes generales para el nodo MQGet.
Propiedad | O | C | Valor predeterminado | 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. Consulte Análisis a petición para obtener una descripción completa de esta propiedad. |
Utilizar analizador compacto MQRFH2C para dominio MQRFH2 | No | No | Falso | Esta propiedad controla 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 MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | Falso | ![]() ![]() |
Modalidad de retención de contenido mixto | No | No | Ninguno | 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 | No | No | Ninguno | 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 | No | No | Ninguno | 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 MQGet.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Descripción corta | No | No | Espacio en blanco | Descripción breve del nodo. |
Descripción larga | No | No | Espacio en blanco | Texto que describe la finalidad del nodo en el flujo de mensajes. |