使用tcpmon监控软件捕获消息传递的过程

时间:2024-03-23 18:12:44

tcpmon相当于一个中间件,一般情况下,是客户端和服务端直接通信的,加入tcpmon之后,先让客户端把请求消息给tcpmon,再让tcpmon把消息传给服务端,服务端把响应消息传给客户端的时候,tcpmon把响应信息捕获出来。

打开tcpmon.bat,设置tcpmon的监听端口,如下图:
使用tcpmon监控软件捕获消息传递的过程
 

这里在Listen Port中,填写tcpmon的监听端口,在Listener中,填写WSDL服务的地址和端口,比如:WSDL服务URL为:http://localhost:9999/server?wsdl,这里Target Hostname填写localhostTarget Port填写9999(注:Listen PortTarget Port填写的端口不同一样)点击add,这里就会出现监听端口6666的窗口,如下图:
使用tcpmon监控软件捕获消息传递的过程
 

至此,tcpmon监听软件设置OK了。接口就准备测试

注:客户端发送请求消息要发给tcpmon,也就说是,端口要为tcpmon的监听端口

客户端代码:

package com.test.service;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class MyClient {
	public static void main(String[] args) {
		try {
			// 创建访问wsdl服务地址的url
			// URL url = new URL("http://localhost:9999/server?wsdl");
			// 使用TCPMon(6666)截获
			URL url = new URL("http://localhost:6666/server?wsdl");
			
			// 通过QName指明服务的具体信息
			QName qName = new QName("http://service.test.com/", "MyServiceImplService");
			// 创建服务
			Service service = Service.create(url, qName);
			// 实现接口
			IMyService ms = service.getPort(IMyService.class);
			System.out.println(ms.add(12, 13));
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
	}
}

 

运行客户端后,在tcpmon监听软件中就可以捕获到消息了,如下图:
使用tcpmon监控软件捕获消息传递的过程