Ampliación del ejemplo de Nodos de cliente TCPIP
Esta extensión muestra cómo ampliar el ejemplo para incorporar un servidor TCP/IP autónomo diferente, en lugar del flujo TCPIPServerSimulation que se describe en el ejemplo asíncrono, que se configurar para que devuelve echo a un cliente que se está conectando.
Esta extensión también demuestra cómo alterar temporalmente algunas de las propiedades de conexión utilizando el entorno local.
Visión general de la extensión de ejemplo:
- El mensaje de entrada que se coloca en la cola TCPIP_ASYNC_IN se puede modificar para que contenga
- El nodo JavaCompute del flujo TCPIPAsyncOut copia esta información en el entorno local.
- El nodo TCPIPClientOutput se configura en el separador Petición de la vista Propiedades para poder aceptar alteraciones en determinados detalles de conexión desde el entorno local.
Las alteraciones temporales en el puerto, el nombre de host o ambas cosas están presentes en el entorno local, lo que provoca que el nodo TCPIPClientOutput busque una conexión utilizando los detalles del entorno local.
- Por lo tanto, el mensaje se puede direccionar dinámicamente al servidor TCP/IP sin ninguna modificación en el flujo de mensajes TCPIPAsyncOut.
- También se deben establecer los detalles de la nueva conexión en el nodo TCPIPClientInput del flujo de mensajes TCPIPAsyncIn para asegurarse de que este nodo recibe la respuesta del servidor TCP/IP.
- Se proporciona un ejemplo de mensaje de entrada y el archivo mbtest con el ejemplo y dan por supuesto que el servidor TCP/IP está escuchando en localhost: 7778.
Ejecución de la extensión de ejemplo:
- Modifique los flujos de mensajes para comunicarse con el servidor TCP/IP utilizando una de las opciones siguientes:
- Si el servidor TCP/IP está a la escucha en localhost:7778, modifique la propiedad
Detalles de la conexión del nodo TCPIPClientInput en el flujo de mensajes TCPIPAsyncIn por
localhost:7778. Guarde el flujo de mensajes.
- Si su servidor TCP/IP no está a la escucha en localhost:7778,
lleve a cabo los pasos siguientes:
- En TCPIPClientNodesSampleFlowProject, abra el archivo AsyncExtendMessage.xml.
- Modifique AsyncExtendMessage.xml para cambiar el puerto, el nombre de host o ambos, de localhost: 7778 por el puerto en el que el servidor TCP/IP está escuchando. Guarde el archivo.
- Abra TCPIPAsyncExtendTest.mbtest. Pulse
Colocar en cola, pulse Importar origen
e importe AsyncExtendMessage.xml.
Guarde este archivo de prueba.
- Modifique la propiedad Detalles de la conexión del nodo TCPIPClientInput en el flujo de mensajes TCPIPAsyncIn para que coincida con los del mensaje de prueba.
Guarde el flujo de mensajes.
- Asegúrese de que el archivo bar TCPIPClientNodesSampleArchive.bar contenga flujos de mensajes asíncronos, en lugar de flujos de mensajes síncronos.
Si ha modificado los flujos, como se ha mostrado en el paso anterior, vuelva a crear y guardar el archivo BAR:
- En WebSphere Message Broker Toolkit, seleccione y abra
TCPIPClientNodesSampleArchive.bar con el editor del archivador de intermediario.
Seleccione el separador Preparar y pulse Compilar archivador de intermediario.
Guarde el archivo BAR.
- Despliegue el archivo BAR en TCPIPClientNodesSampleExecutionGroup.
- Abra TCPIPAsyncExtendTest.mbtest, pulse Colocar en cola y pulseEnviar mensaje. Se producen los sucesos siguientes:
- El mensaje modifica se envía en el flujo de mensajes TCPIPAsyncIn.
- El nodo JavaCompute copia el nombre de host y el puerto actualizados en el entorno local ($LocalEnvironment/Destination/TCPIP/Output/).
- El nodo TCPIPClientOutput envía los datos utilizando los Detalles de la conexión que se han alterado temporalmente en el entorno local.
- El servidor TCP/IP recoge estos datos y vuelve a emitir echo en el mismo puerto.
- Estos datos los recibe el nodo TCPIPClientInput en el flujo de mensajes TCPIPAsyncIn, y procesa los datos del mismo modo en que se procesan los datos en el ejemplo asíncrono.
- Pulse Extraer de la cola y, a continuación, pulse Obtener mensaje.
- Compruebe que el mensaje actualizado se ha devuelto correctamente a través de WebSphere MQ:
- Vea el mensaje de respuesta en el panel Propiedades detalladas,
utilizando la vista Estructura XML.
- Compare este mensaje con el mensaje enviado anteriormente a través del suceso Colocar en cola.
A menos que el servidor TCP/IP haya alterado el cuerpo del mensaje, los dos mensajes son idénticos.
Si todos los pasos anteriores se han realizado correctamente, el ejemplo se ha completado.
Mire en los nodos de los tres flujos de mensajes para ver hasta qué punto se han obtenido los resultados.
La propiedad Detalles de la conexión del separador Básico es similar a la siguiente captura de pantalla:
Volver a la página inicial del ejemplo