Network Deployment (Distributed operating systems), v8.0 > Troubleshoot and support > Troubleshoot web services > Troubleshoot web services


Trace SOAP messages with tcpmon

We can trace SOAP messages that request web services by using the tcpmon tool.

We can use other trace tools to trace SOAP messages, similar to how you can trace web services components. See the tracing web services information to learn more about these other trace tools.

It is not recommended that you use the tcpmon tool in a stressed environment. Tcpmon is only for monitoring SOAP messages in a lightweight environment.

We can trace SOAP messages exchanged between a client and the server by installing a monitor or sniffer application to capture the HTTP traffic between the two points. The application server product provides a utility class, com.ibm.ws.webservices.engine.utils.tcpmon, to trace the SOAP messages. The com.ibm.ws.webservices.engine.utils.tcpmon class redirects messages from a port, records the messages, and forwards the messages to another port.

WAS typically listens on port 9080, or port 80 if you are using IBM HTTP Server. The tcpmon process can be configured to listen on a particular port, such as 9088, while redirecting messages to another port, such as 9080 or port 80. The client is redirected to use port 9088 to access web services.

Redirecting an application client to a different port is done by changing the SOAP address in the client Web Services Description Language (WSDL) file to use port 9088 and then running the wsdeploy command-line tool on the client enterprise archive (EAR) file to regenerate the service implementation.

The wsdeploy command is supported by JAX-RPC applications. The Java API for XML-Based Web Services (JAX-WS) programming model that is implemented by the application server does not support the wsdeploy command. If your web services application contains only JAX-WS endpoints, you do not need to run the wsdeploy command, as this command is used to process only JAX-RPC endpoints.


Procedure

  1. Run the following command to display a window labeled TCPMonitor:
    java -cp
    WAS_HOME/runtimes/com.ibm.ws.webservices.thinclient_8.0.0.jar com.ibm.ws.webservices.engine.utils.tcpmon
    

  2. Configure the TCPMonitor to listen on port 9088 and forward messages to port 9080.

    1. In the Listen Port # field, enter 9088.

    2. Click Listener.

    3. In the TargetHostname field, enter localhost.

    4. In the Target Port # field, enter 9080.

    5. Click Add.

    6. Click the Port 9088 tab that displays on the top of the page.


Results

The messages exchanged between the client and server display in the TCPMonitor Request and Response pane.


What to do next

Save the message data and analyze it.
Trace web services
Troubleshoot web services

+

Search Tips   |   Advanced Search