Utilice el nodo TCPIPClientInput para crear una conexión de cliente para un socket TCP/IP primario, y para recibir datos a través de dicha conexión.
Este tema contiene las siguientes secciones:
El nodo TCPIPClientInput abre conexiones para una aplicación de servidor remoto que esté a la escucha en un puerto TCP/IP. El nodo no realiza directamente las conexiones sino que se obtienen de una agrupación de conexiones gestionada por el grupo de ejecución de WebSphere Message Broker. El grupo de ejecución utiliza el servicio configurable TCPIPClient predeterminado cuyos atributos se utilizan para la conexión del socket No obstante, si el servicio configurable se ha establecido en el nodo, el servicio configurable se utilizará para todas las propiedades, incluidos el número de host y el de puerto.
Puede configurar el intermediario para que utilice SSL para nodos TCP/IP; consulte SSL y los nodos TCP/IP.
Cuando la agrupación de conexiones abre una conexión, se envía a un nodo TCPIPClientInput (si el terminal abierto del nodo está conectado). El suceso de entrada sólo se envía a un nodo TCPIPClientInput en la conexión.
De forma predeterminada (según lo definido en el servicio configurable) el nodo de entrada no ha efectuado ninguna conexión de cliente. El nodo se basa en la creación de conexiones de cliente mediante nodos de salida o solicitud. En esta modalidad operativa, no se inicia nunca un nodo de entrada hasta que un nodo de salida o solicitud inicia una interacción.
La modalidad se puede cambiar en el servicio configurable para una agrupación de conexiones de cliente preparadas para su proceso. Para utilizar esta función, minimumConnections debe establecerse en un valor superior a cero. El grupo de ejecución garantizará que el número de conexiones especificado esté siempre disponible creándolas durante el arranque y creándolas hasta que se alcance el valor mínimo.
Este comportamiento es diferente del nodo TCPIPServerInput, que no intenta realizar un número mínimo de conexiones. Para obtener más información, consulte Nodo TCPIPServerInput.
El nodo de cliente tiene también un valor máximo, que limita el número de conexiones que puede crear. Puede haber más conexiones que el valor mínimo como resultado de los nodos de salida que crean conexiones.
Cuando hay conexiones disponibles, el segundo requisito se cumple cuando hay como mínimo un byte de datos por procesar; de lo contrario, la conexión se cierra. En cualquiera de los casos, se proporciona una conexión al nodo y se procesa el suceso.
El primer registro de datos se detecta basándose en propiedades del nodo y se envía después al terminal de salida (Out). Si se produce un error, incluido un tiempo de espera excedido esperando datos o el cierre de una conexión mientras se esperaba al registro completo, los datos se enviarán al terminal de anomalías (Failure). Si la conexión se cierra y no hay datos, se envía un mensaje al terminal de Cierre (Close). Aunque el mensaje no tenga datos, el entorno local tiene datos sobre la conexión que se ha cerrado.
Para los sucesos de datos y cierre se crea el siguiente entorno local:
Ubicación en entorno local | Descripción |
---|---|
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Type | El cliente. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Hostname | El nombre de host utilizado para realizar una conexión. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Port | El número de puerto utilizado para realizar una conexión. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/OpenTimestamp | La indicación de fecha y hora de la primera apertura de la conexión. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/CloseTimestamp | La indicación de fecha y hora de cierre de la conexión (nulo si no se ha cerrado aún). |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/SequenceNumber/InputRecord | El número de secuencia del mensaje recibido en esta conexión. El primer registro tiene el número de secuencia 1; el segundo registro tiene el número de secuencia 2, y así sucesivamente. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/SequenceNumber/OutputRecord | El número de secuencia del mensaje enviado en esta conexión. El primer registro tiene el número de secuencia 1; el segundo registro tiene el número de secuencia 2, y así sucesivamente. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Id | El ID del socket que se está utilizando. Este ID es un identificador interno utilizado por el intermediario de mensajes para identificar exclusivamente una conexión. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ReplyId | El ID de respuesta que se ha almacenado en esta conexión. El valor puede ser cualquier serie. |
Cuando el nodo ha creado el registro a partir de la corriente de la conexión, vuelve a liberar la conexión para la agrupación de conexiones a fin de que otros nodos la utilicen. Las propiedades del separador Avanzadas muestran cómo dicha conexión puede ser utilizada por otros nodos en el futuro. De forma predeterminada, las propiedades Avanzadas marcan la corriente de entrada en la conexión TCP/IP como reservada, lo que significa que ningún otro nodo de entrada puede utilizarla hasta que termine el uso actual del flujo de mensajes. De forma alternativa, puede reservar la conexión hasta que otro nodo anule la reserva, o no reservarla en absoluto y permitir que cualquier otro nodo (o hebra de dicho nodo) utilice la conexión inmediatamente. Hay opciones similares para la corriente de datos de salida pero se conservan sin reservar de forma predeterminada.
Otro nodo puede acceder a una corriente de datos reservada sólo si se conoce el ID de la conexión. Este comportamiento permite a todos los nodos de un flujo de mensajes acceder a la misma conexión utilizando el mismo ID mientras se impide que cualquier otro flujo de mensajes adquiera la conexión.
El nodo TCPIPClientInput se encuentra en el cajón TCPIP de la paleta y está representado en el WebSphere Message Broker Toolkit mediante el siguiente icono:
Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.
Cuando haya colocado una instancia del nodo TCPIPClientInput en un flujo de mensajes, podrá configurarlo; consulte el tema Configurar un nodo de flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades,
Todas las propiedades obligatorias que no tienen un valor predeterminado aparecen con un asterisco.
Configure el nodo TCPIPClientInput:
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
<Fmt>XML</Fmt></mcd>
Si establece valores que difieren de los de la cabecera MQRFH2, los valores de la cabecera MQRFH2 tienen prioridad.
Si establece Detección de registros en Conexión cerrada, Longitud fija o Delimitada, se aplica un límite de 100 MB a la longitud de los registros. Si establece Detección de registros en Secuencia de registros analizados, el nodo TCPIPClientInput no determina ni limita la longitud de un registro. Los nodos que están en sentido descendente en el flujo de mensajes pueden intentar determinar la longitud del registro, o procesar un registro largo. Si tiene pensado procesar registros de gran tamaño de esta forma, asegúrese de que el intermediario tiene suficiente memoria. Puede que deba aplicar las técnicas de flujo descritas en el ejemplo Mensajería grande para utilizar mejor la memoria disponible; consulte Mensajería grande.
Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.
Los terminales del nodo TCPIPClientInput se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
Abierto | El terminal de salida al que se direcciona un mensaje la primera vez que se abre una conexión. Utilice el terminal Open si es preciso realizar un proceso cuando se abre una conexión y no cuando llegan por primera vez los datos. La conexión asociada al mensaje está reservada desde la agrupación de conexiones general hasta que ha terminado la propagación al terminar Open. No obstante, se puede acceder a la conexión utilizando el connectionId especificado en el entorno local. Cada conexión que se crea se envía al terminal Open, incluidas todas las conexiones creadas a mitad del flujo por un nodo TCPIPClientReceive o un nodo TCPIPClientOutput. Si el terminal abierto no está conectado, los sucesos abiertos pasan a estar automáticamente disponibles en la agrupación de conexiones. |
Failure (de anomalías) | El terminal de salida al que se direcciona el mensaje si se produce un error. Este valor incluye anomalías provocadas por el proceso de reintento. 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 un recurso externo. Si no se producen errores en el nodo de entrada, un mensaje recibido de un recurso externo siempre se envía primero al terminal de salida. |
Close (de cierre) | El terminal de salida al que se direcciona el mensaje si se cierra la conexión. |
Catch (de captación) | El terminal de salida al que se direcciona un mensaje si se emite una excepción en sentido descendente y después este nodo la capta. Las excepciones se detectan sólo si este terminal está conectado. |
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 TCPIPClientInput.
Propiedad | M | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | TCPIPClientInput | 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 TCPIPClientInput.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Detalles de conexión | Sí | Sí | Serie de caracteres que contiene el nombre de host y el número de puerto que han de utilizarse, o el nombre de un servicio configurable. | connectionDetails | |
Tiempo de espera a la espera de un registro de datos (segundos). | Sí | Sí | 60 | Especifica cuánto tiempo va a estar a la escucha un nodo en una conexión a la espera de más datos después de la llegada del primer byte de datos. Puede especificar cualquier cantidad de tiempo en segundos. | timeoutWaitingForData |
En la tabla siguiente se describen las propiedades Avanzadas del nodo TCPIPClientInput.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Cerrar conexión | Sí | No | No | Controla cuándo se cierra la conexión o si permanece abierta. Las opciones válidas son:
|
Cerrar corriente de entrada después de recibir un registro | Sí | No | No seleccionado | Indica si se ha de cerrar la corriente de entrada tan pronto como se hayan recuperado los datos. Cuando la corriente de entrada de la conexión esté reservada ningún otro nodo podrá utilizarla sin conocer el ID. Esta propiedad no está seleccionada de forma predeterminada. |
Modificación de la corriente de datos de entrada | No | No | Dejar sin cambios | Especifica si se va a reservar la corriente de entrada para que la utilicen únicamente los nodos de entrada y recepción que especifiquen el ID de conexión, o para liberarla al final de flujo. Las opciones válidas son:
|
Modificación de la corriente de datos de salida | No | No | Dejar sin cambios | Especifica si esta secuencia de salida se libera y se devuelve a la agrupación para que la
utilice cualquier nodo de salida. Las opciones válidas son:
|
En la tabla siguiente se describen las propiedades de Análisis de mensajes de entrada del nodo TCPIPClientInput.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Dominio de mensajes | No | No | BLOB | El dominio que se utiliza para analizar el mensaje de entrada. | |
Modelo de mensaje | No | No | Nombre o ubicación del modelo de mensaje en el que se define el mensaje de entrada. | ||
Mensaje | No | No | El nombre o ubicación de un elemento global que modela un documento de datos entero y está incluido en su archivo de esquema de modelo de mensaje. Esta lista se llena con todos los mensajes disponibles que se han definido en el Modelo de mensaje que ha seleccionado. | ||
Formato físico | No | No | Nombre del formato físico del mensaje de entrada. | ||
ID de juego de caracteres codificado del mensaje | Sí | No | Valor predeterminado del sistema de intermediario | El ID del juego de caracteres codificado utilizado para interpretar los datos que se leen. | messageCodedCharSetIdProperty |
Codificación del mensaje | Sí | No | Determinado por el sistema de intermediario | El esquema de codificación para números y caracteres grandes utilizado para interpretar los datos que se leen. Los valores válidos son Determinado por el sistema de intermediario o un valor de codificación numérica. Para obtener más información sobre la codificación, consulte Conversión de datos. | messageEncodingProperty |
Las propiedades de análisis del nodo TCPIPClientInput se describen en la siguiente tabla.
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:
Si desea ver una descripción completa de esta propiedad, consulte Análisis a petición. |
Crear árbol utilizando los tipos de datos de esquema XML | No | No | No seleccionado | Esta propiedad controla si los elementos de sintaxis del árbol de mensajes toman los tipos de datos del esquema XML. |
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 establece esta propiedad, los datos del mensaje se visualizarán bajo XMLNSC en los nodos que estén conectados al terminal de salida cuando la cabecera MQRFH2 de entrada o la propiedad de Análisis de mensaje de entrada, Dominio de mensajes, sea XMLNS. |
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. |
Elementos opacos | No | No | Espacio en blanco | Esta propiedad se utiliza para especificar una lista de elementos del mensaje de entrada que el analizador XMLNSC deba analizar de forma opaca. |
Las propiedades de Registros y Elementos del nodo TCPIPClientInput se describen en la siguiente tabla:
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Detección de registros | Sí | No | Fin de la corriente de datos | El mecanismo utilizado para identificar registros en los datos de entrada. Las opciones válidas son:
|
Longitud (bytes) | Sí | No | 0 | La longitud de cada registro cuando se selecciona la detección de registros Longitud fija. |
Delimitador | Sí | No | Fin de línea de DOS o UNIX | El tipo de bytes de delimitador que separan o terminan cada registro cuando se ha seleccionado la detección de registros Delimitados. Las opciones válidas son:
|
Delimitador personalizado (hexadecimal) | No | No | Los bytes de delimitador, expresados en hexadecimal, cuando se selecciona la detección de registros Delimitados y el Delimitador personalizado. Esta propiedad sólo es obligatoria si la propiedad Delimitador se ha establecido en Delimitador personalizado (hexadecimal). | |
Tipo de delimitador | Sí | No | Posfijo | La ubicación del delimitador cuando se selecciona la detección de registros Delimitados y Delimitador personalizado (hexadecimal). Las opciones válidas son:
|
Las propiedades de Reintento del nodo TCPIPClientInput se describen en la siguiente tabla:
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Mecanismo de reintento | Sí | No | Anomalía | Cómo maneja el nodo una anomalía del flujo. Las opciones válidas son:
|
|
Umbral de reintentos | Sí | Sí | 0 | El número de veces que debe reintentarse la transacción de flujos cuando Mecanismo de reintento es Reintento corto. | retryThreshold |
Intervalo de reintento corto | No | Sí | 0 | El intervalo, en segundos, entre cada reintento si Umbral de reintentos no es cero. | shortRetryInterval |
Intervalo de reintento largo | No | Sí | 300 | El intervalo entre reintentos si Mecanismo de reintento es Reintento corto y largo y se ha agotado el umbral de reintentos. | longRetryInterval |
Las propiedades de validación del nodo TCPIPClientInput se describen en la siguiente tabla.
Para ver la descripción completa de estas propiedades, consulte Propiedades de validación.
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Validar | No | Sí | Ninguno | Esta propiedad controla si tiene lugar la validación. Los valores válidos son:
|
validateMaster |
Acción para anomalía | No | No | Excepción | Esta propiedad controla qué sucede si falla la
validación. Los valores válidos son:
|
Las propiedades de Transacciones del nodo TCPIPClientInput se describen en la siguiente tabla:
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Modalidad de transacción | No | Sí | No | La modalidad de transacción de este nodo de entrada
determina si el resto de los nodos del flujo se ejecutan bajo el punto de
coherencia.
Las opciones válidas son:
|
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Agrupación de instancias adicionales | No | Sí | Utilizar agrupación asociada al flujo de mensajes | La agrupación de la que se obtienen instancias adicionales.
|
componentLevel |
Instancias adicionales | No | Sí | 0 | El número de instancias adicionales que el nodo puede iniciar si la propiedad Agrupación de instancias adicionales está establecida en Utilizar agrupación asociada al nodo. | additionalInstances |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Sucesos | No | No | Ninguno | Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y
Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles. Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado. |