Utilice el nodo TCPIPServerInput para crear una conexión de servidor para un socket TCPIP primario, y para recibir datos a través de dicha conexión
Este tema contiene las siguientes secciones:
El nodo TCPIPServerInput escucha en un puerto y, cuando un socket de cliente se conecta al puerto, el socket de servidor crea una conexión para el cliente. A diferencia del nodo TCPIPClientInput. el nodo TCPIPServerInput no intenta realizar un número mínimo de conexiones porque el extremo del servidor del socket no puede iniciar conexiones, solo puede aceptarlas. El nodo TCPIPServerInput acepta conexiones hasta un valor máximo que se especifica en la propiedad MaximumConnections del servicio configurable TCPIPServer. De forma predeterminada, el intermediario puede aceptar hasta 100 conexiones de servidor. Para obtener más información, consulte Mandato mqsicreateconfigurableservice y Mandato mqsireportproperties.
Puede configurar el intermediario para que utilice SSL para nodos TCP/IP; consulte SSL y los nodos TCP/IP.
Cuando se abra una conexión, se envía al termina Open un mensaje que contiene los detalles de la conexión; no se direccionan datos a ese terminal. 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 corriente de datos de salida de la conexión se reservan hasta que ha finalizado la propagación del mensaje abierto (lo que ocurre inmediatamente si el terminal no está conectado a ningún otro nodo). Las opciones del separador Avanzadas del nodo no corresponden a los sucesos abiertos; solamente se aplican cuando llegan los primeros datos de la conexión y se propagan al terminal de salida.
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 servidor. |
$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 WebSphere Message Broker para identificar de forma exclusiva una conexión. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ReplyId | El ID de respuesta que se ha almacenado en esta conexión. Puede ser cualquier serie de texto. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ClientDetails/Hostname | El nombre del dominio totalmente calificado del sistema desde el que se ha conectado el cliente. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ClientDetails/Address | La dirección IP del sistema desde el que se ha conectado el cliente. |
El nodo TCPIPServerInput se encuentra en la bandeja TCPIP de la paleta y está representado en el WebSphere Message Broker Toolkit por 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 TCPIPServerInput 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 TCPIPServerInput:
<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.
Si establece Detección de registros en Fin de la corriente de datos, 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 TCPIPServerInput 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 de 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. Es posible que tenga que aplicar las técnicas de flujo descritas en el ejemplo de Mensajes grandes para aprovechar al máximo la memoria disponible.
Los terminales del nodo TCPIPServerInput 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. Estos errores incluyen anomalías provocadas por el proceso de reintento. Aunque esté establecida la propiedad Validación, los mensajes propagados a este terminal no se validan. |
Open (Abierto) | El termina de salida al que se direcciona un mensaje la primera vez que se abre. 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. |
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 que se recibe 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 genera 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 del 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 TCPIPServerInput.
Propiedad | M | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | TCPIPServerInput | 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 TCPIPServerInput.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Detalles de conexión | Sí | Sí | Una serie que contiene el número de puerto que se debe utilizar, 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 TCPIPServerInput.
Propiedad | M | 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. De forma predeterminada, esta opción no está seleccionada. |
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 y, si se reserva,si la corriente de entrada debe liberarse 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 TCPIPServerInput.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Dominio de mensajes | No | No | BLOB | 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 TCPIPServerInput se describen en la siguiente tabla.
Propiedad | M | 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 la 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 TCPIPServerInput se describen en la siguiente tabla:
Propiedad | M | 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 (hexadecimal). 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 TCPIPServerInput se describen en la siguiente tabla:
Propiedad | M | 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 (segundos) | No | Sí | 0 | El intervalo, en segundos, entre cada reintento si Umbral de reintentos no es cero. | shortRetryThreshold |
Intervalo de reintento largo (segundos) | No | Sí | 300 | El intervalo entre reintentos si Mecanismo de reintento es Reintento corto y largo y se ha agotado el umbral de reintentos. | longRetryThreshold |
Las propiedades de validación del nodo TCPIPServerInput se describen en la siguiente tabla.
Para ver la descripción completa de estas propiedades, consulte Propiedades de validación.
Propiedad | M | 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 TCPIPServerInput se describen en la siguiente tabla:
Propiedad | M | 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 | M | 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. |