What is TCPMon?
TCPMon is a free utility that displays detailed information about communication between a client and a server.
TCPMon is particularly useful for troubleshooting web service requests and responses between management system servers and xMatters, and it can also help diagnose communications to and from the Integration Agent.
TCPMon is a Java application, so it can be run on a variety of platforms as long as there is a Java Runtime Environment available.
If Java is not available on a server whose communications you need to diagnose, you can install TCPMon on another server or workstation - as long as it is on the same network segment and has Java installed.
How to Install TCPMon
Download a Zip archive containing TCPMon from here http://mirror.its.dal.ca/apache//ws/tcpmon/1.0/tcpmon-1.0-bin.zip. Unzip the archive and extract tcpmon-1.0.jar from tcpmon-1.0-bin\build\ to a convenient location. Ideally it should be installed on one of the servers you are troubleshooting. Java must be present on the server where TCPMon resides,
How to Use TCPMon
In this example, TCPMon is installed on a device which is trying to send SOAP requests to an xMatters server
- Open a command prompt and navigate to the location of tcpmon-1.0.jar.
- Type (or paste) the following command:
"java -cp ./tcpmon-1.0.jar org.apache.ws.commons.tcpmon.TCPMon"
- On the TCPMon UI's Admin tab, in the Target Hostname field, type the name or IP address of the server with which this device is trying to communicate.
- For example, if you installed TCPMon on the integration agent server and you are troubleshooting communication with the xMatters server, type the IP address of the xMatters server.
- In the Listen Port and Target Port fields, type the port with which you are trying to communicate.
- In the above example, the ports would be 8888 by default. Note that these ports do not have to match each other, but do in this example.
- Click the Add button.
- Note that there is now a third tab in the TCPMon UI, labeled "Port 8888", as illustrated by the following screen shot:
- Temporarily configure the sender so that it sends its SOAP request to localhost:8888 instead of the xMatters server.
- Test the connection; e.g., by causing the integration agent to send a SOAP request to the xMatters server.
- Click the new Port 8888 tab to see the request and the response.
In the following screen shot, TCPMon displays a "500" error response, because the SOAP request was sent to an endpoint that does not exist on the xMatters server (ie, ".../AlarmPointWebServic" instead of "AlarmPointWebService"):
JDN-4358 Originally created by Jeremy Brown