Utilice el nodo TCPIPServerReceive para recibir datos a través de una conexión TCP/IP de servidor.
Este tema contiene las siguientes secciones:
El nodo TCPIPServerReceive espera la recepción de datos en una conexión TCP/IP y los recupera. Si la conexión está cerrada, se genera una excepción.
Cuando se establece una conexión, los datos se envían al nodo TCPIPServerReceive. Si el nodo TCPIPServerReceive no recibe correctamente todos los datos en el tiempo especificado en la propiedad Se ha excedido el tiempo de espera de registro de datos, el mensaje se envía al terminal Timeout; si no hay ningún terminal Timeout conectado, se genera una excepción.
Puede configurar el intermediario para que utilice SSL para nodos TCP/IP; consulte SSL y los nodos TCP/IP.
Las propiedades del entorno local pueden alterar temporalmente la conexión TCP/IP utilizada por el nodo.
Ubicación en entorno local para entrada en el nodo | Descripción |
---|---|
$LocalEnvironment//TCPIP/Receive/Hostname | El nombre de host utilizado para realizar una conexión. |
$LocalEnvironment//TCPIP/Receive/Port | El número de puerto utilizado para realizar una conexión. |
$LocalEnvironment/TCPIP/Receive/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/Receive/ReplyId | El ID de respuesta que se ha de almacenar en esta conexión. Este ID se puede utilizar posteriormente cuando los datos se devuelven en un nodo de entrada. El ID de respuesta Puede ser cualquier serie de texto. |
$LocalEnvironment/TCPIP/Receive/Timeout | El valor de tiempo de espera utilizado cuando se está a la espera de datos en la conexión de servidor TCP/IP. Este valor prevalece sobre la propiedad Tiempo de espera a la espera de un registro de datos especificada en el nodo. |
$LocalEnvironment/TCPIP/Receive/Length | El valor utilizado para alterar temporalmente el número de bytes que se van a leer cuando se utilizan registros de tamaño fijo. Este valor prevalece sobre la propiedad Longitud (bytes) especificada en el nodo. Si la propiedad Detección de registros se establece en un valor que no sea Longitud fija, se ignora el campo de entorno local. Si este campo no está presente o se evalúa en nulo, se ignora y se utiliza el valor del nodo. |
Estas propiedades permiten seleccionar dinámicamente los detalles de la conexión (nombre de host y número de puerto) y la conexión utilizada (ID). También se puede establecer el ID de respuesta en la conexión, lo que permite almacenar una serie de caracteres en la conexión y que aparezca en el entorno local. De esta forma, puede almacenar ID de respuesta procedentes de otros nodos TCPIP o de otros transportes como, por ejemplo, WebSphere MQ.
Cuando se ha recuperado un registro, el campo Detalles de conexión del árbol de entorno local se rellena con los detalles de la conexión que está utilizando.
Ubicación en entorno local para salida desde el nodo | Descripción |
---|---|
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Type | El servidor. |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Hostname | El nombre de host utilizado para realizar una conexión. |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Port | El número de puerto utilizado para realizar una conexión. |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/OpenTimestamp | La indicación de fecha y hora de la primera apertura de la conexión. |
$LocalEnvironment/TCPIP/Receive/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/Receive/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/Receive/ConnectionDetails/SequenceNumber/OutputRecord | El número de secuencia del mensaje que se envía 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/Receive/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/Receive/ConnectionDetails/ReplyId | El ID de respuesta que se ha almacenado en esta conexión. Puede ser cualquier serie de texto. |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/ClientDetails/Hostname | El nombre del dominio totalmente calificado del sistema desde el que se ha conectado el cliente. |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/ClientDetails/Address | La dirección IP del sistema desde el que se ha conectado el cliente. |
El nodo TCPIPServerReceive 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 TCPIPServerReceive en un flujo de mensajes, podrá configurarlo; consulte el apartado 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 TCPIPServerReceive:
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
<Fmt>XML</Fmt></mcd>
Si establece valores y estos 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 TCPIPServerReceive 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 de mensajes descritas en el ejemplo de Mensajes grandes para aprovechar al máximo la memoria disponible.
Los terminales del nodo TCPIPServerReceive se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
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. |
Timeout (de tiempo de espera) | El terminal al que se envía un mensaje cuando ha transcurrido el tiempo especificado en la propiedad Se ha excedido el tiempo de espera de registro de datos. El texto del mensaje es Se ha excedido el valor de tiempo de espera. |
Failure (de anomalías) | El terminal de salida al que se direcciona el mensaje si se produce un error. Estos errores incluyen las anomalías causadas por el proceso de reintentos. Aunque esté establecida la propiedad Validación, los mensajes propagados a este terminal no se validan. |
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 TCPIPServerReceive.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | TCPIPServerReceive | 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. |
Las propiedades Básicas del nodo TCPIPServerReceive determinan la forma en que se controla la conexión TCP/IP y las encontrará descritas en la tabla siguiente.
Propiedad | O | 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. Se da soporte a los siguientes formatos:
|
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. El valor predeterminado es 60 segundos. Cuando se excede el tiempo especificado, todos los datos disponibles se envían al terminal de anomalías (Failure). | timeoutWaitingForData |
Las propiedades Avanzadas del nodo TCPIPServerReceive determinan la forma en que se controla la secuencia de datos y las encontrará descritas en la tabla siguiente.
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. De forma predeterminada, esta propiedad 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, 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 reserva o se libera y se devuelve a la agrupación para
que la utilice cualquier nodo de salida.
Estas opciones sólo están disponibles si no se ha seleccionado la propiedad Cerrar
corriente de salida después de enviar un registro.
|
Las propiedades Solicitud del nodo TCPIPServerReceive especifican la ubicación de los datos que se deben grabar. Puede especificar las propiedades de este separador como expresiones XPath o ESQL. La Ayuda de contenido está disponible en el panel de propiedades y también en el Creador de expresiones XPath que puede ejecutar pulsando el botón Editar situado a la derecha de cada propiedad. Las propiedades Solicitud se describen en la tabla siguiente:
Propiedad | M | C | Default (valor predeterminado) | Descripción |
---|---|---|---|---|
Ubicación de puerto | Sí | No | $LocalEnvironment/TCPIP/Receive/Port | La ubicación del elemento de mensaje que contiene el puerto. Especifique la ubicación del valor que va a alterar temporalmente el Puerto establecido en la propiedad Detalles de conexión del separador Básico. Si no especifica una ubicación, el valor predeterminado es $LocalEnvironment/TCPIP/Receive/Port. |
Ubicación de ID | Sí | No | $LocalEnvironment/TCPIP/Receive/Id | La ubicación del elemento de mensaje que contiene el ID. Especifique la ubicación del Id del socket que se está utilizando. Es un identificador interno utilizado por WebSphere Message Broker para identificar exclusivamente una conexión. Si no especifica una ubicación, el valor predeterminado es $LocalEnvironment/TCPIP/Receive/Id. |
Ubicación del ID de respuesta | Sí | No | $LocalEnvironment/TCPIP/Receive/ReplyId | La ubicación del elemento de mensaje que contiene el ID de respuesta. Especifique la ubicación del ID de respuesta que está almacenado en la conexión que se está utilizando. El ID de respuesta se puede utilizar cuando los datos se devuelven en un nodo de entrada. Si no especifica una ubicación, el valor predeterminado es $LocalEnvironment/TCPIP/Receive/ReplyId. |
Ubicación de longitud de registro | No | No | $LocalEnvironment/TCPIP/Receive/Length | La ubicación del elemento de mensaje que contiene la longitud de registro que se va a leer. Especifique la ubicación del valor que va a alterar temporalmente la propiedad Longitud (bytes) en el separador Registros y elementos. Si no especifica una ubicación, el valor predeterminado es $LocalEnvironment/TCPIP/Receive/Length. |
Las propiedades Resultado del nodo TCPIPServerReceive determinan en lugar en el que se debe almacenar la respuesta y están descritas en la tabla siguiente:
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Ubicación de datos de salida | No | No | $OutputRoot | La ubicación de inicio en el árbol de mensajes de salida donde la que se almacenan los elementos analizados de la serie de bits del mensaje. Consulte Combinación de un mensaje de resultado con un mensaje de entrada. |
Copiar entorno local | No | No | Seleccionado | Especifica si se copia el entorno local en el
mensaje de salida.
|
Las propiedades de Análisis de mensajes de entrada del nodo TCPIPServerReceive determinan cómo se analiz el mensaje de entrada.
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
<Fmt>XML</Fmt></mcd>
Si establece valores y estos difieren de los de la cabecera MQRFH2, los valores de la cabecera MQRFH2 tienen prioridad.
En la tabla siguiente se describen las propiedades de Análisis de mensajes de entrada del nodo TCPIPServerReceive.
Propiedad | O | 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 TCPIPServerReceive 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:
|
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 Registros y Elementos del nodo TCPIPServerReceive especifican la forma en que los datos se interpretan como registros y están descritas en la tabla siguiente:
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Detección de registros | Sí | No | Conexión cerrada | El mecanismo utilizado para identificar registros en los datos de entrada.
|
Longitud (bytes) | Sí | No | 0 | Si establece
Detección de registros en
Longitud fija, utilice
Longitud para especificar la
longitud necesaria del registro de salida en bytes. Este valor debe estar
en el rango de 1 byte a 100 MB. El valor predeterminado es
80 bytes. 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 TCPIPServerReceive 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 de mensajes descritas en el ejemplo de Mensajes grandes para aprovechar al máximo la memoria disponible. |
Delimitador | Sí | No | Fin de línea de DOS o UNIX | Si establece Detección de registros en Delimitada, utilice Delimitador para especificar el delimitador que se va a utilizar. Elija una de las siguientes opciones:
|
Delimitador personalizado (hexadecimal) | No | No | El byte o los bytes de delimitador que se deben utilizar cuando se ha seleccionado la detección de registros Delimitado y Delimitador personalizado (Hexadecimal). Esta propiedad sólo es obligatoria si la propiedad Delimitador se ha establecido en Delimitador personalizado (hexadecimal). Especifique este valor como una serie de número par de dígitos hexadecimales. El valor predeterminado es X'0A' y la longitud máxima de la serie es 16 bytes (representada por 32 dígitos hexadecimales). | |
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:
El nodo TCPIPServerReceive considera cada aparición del delimitador en la entrada como separación (infijo) o terminación (posfijo) de cada registro. Si los datos empiezan con un delimitador, el nodo trata el contenido (longitud cero) que precede a ese delimitador como un registro y propaga un registro vacío al flujo. El delimitador nunca se incluye en el mensaje propagado. Esta propiedad se ignora salvo que la propiedad Delimitador se haya establecido en Delimitador personalizado (hexadecimal). |
Las propiedades de validación del nodo TCPIPServerReceive 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. Sólo
puede establecer esta propiedad si establece
Validar en
Contenido o
Contenido y valor. Los valores válidos son:
|
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. |