Rastreo de mensajes SOAP con tcpmon
Puede rastrear mensajes SOAP que solicitan servicios utilizando la herramienta tcpmon.
Antes de empezar
Puede utilizar otras herramientas de rastreo para rastrear mensajes SOAP, de forma parecida a cómo puede rastrear componentes de servicios web. Consulte la información de servicios web de rastreo para obtener más información sobre estas otras herramientas de rastreo.
No es recomendable que utilice la herramienta tcpmon en un entorno al límite de su producción. Tcpmon sólo es para fines de supervisión de mensajes SOAP en un entorno simplificado.
Acerca de esta tarea
Puede rastrear los mensajes SOAP intercambiados entre un cliente y el servidor instalando una aplicación de supervisor o capturador para capturar el tráfico HTTP entre ambos puntos. El producto de servidor de aplicaciones proporciona una clase de utilidad, com.ibm.ws.webservices.engine.utils.tcpmon, para rastrear los mensajes SOAP. La clase com.ibm.ws.webservices.engine.utils.tcpmon redirige los mensajes de un puerto, anota los mensajes y los remite a otro puerto.
WebSphere Application Server normalmente escucha en el puerto 9080, o en el puerto 80 si utiliza IBM® HTTP Server. El proceso tcpmon puede configurarse de modo que escuche en un puerto concreto, como 9088, a la vez que redirecciona los mensajes a otro puerto, como 9080 o el puerto 80. El cliente se redirige de modo que utilice el puerto 9088 para acceder a servicios web.
Para redirigir un cliente de aplicaciones a un puerto distinto, cambie la dirección SOAP del archivo WSDL (Web Services Description Language) del cliente de modo que utilice el puerto 9088 y, a continuación, ejecute la herramienta de línea de mandatos wsdeploy en el archivo EAR (Enterprise Archive) del cliente para volver a generar el servicio de implementación.
El mandato wsdeploy está soportado por las aplicaciones JAX-RPC (Java™ API for XML-based RPC). El modelo de programación de JAX-WS (Java API for XML-Based Web Services) implementado por el servidor de aplicaciones no soporta el mandato wsdeploy. Si la aplicación de servicios web sólo contiene puntos finales JAX-WS, no es necesario que ejecute el mandato wsdeploy, ya que este mandato sólo se utiliza para procesar puntos finales JAX-RPC.