使用Tcp/Ip Monitor抓取传输的数据

        最近在做项目遇到要调用国航的webservice接口,由于国航那边对接口做了二次封装,本地客户端只需要传递对象即可,不需要自己封装成xml,但在调错过程中向看看底层传输的xml报文,所以自己琢磨着用了myeclipse自带的Tcp/Ip Monitor,不得不说,对于抓取http请求的数据还真管用

     一、什么是 TCP/IP Monitor
TCP/IP monitor 是可以监控在某个端口上通过 TCP/IP 协议传送的通信数据的一个工具软件。 TCP/IP monitor 工具,通过一些配置,这个工具可以用简单明了的形式将客户端和服务器端之间传输的数据呈现给开发者。


二、TCP/IP monitor工作原理
TCP/IP monitor 类似一个代理服务器或者转发器。其工作原理如下:
使用Tcp/Ip Monitor抓取传输的数据_第1张图片

如何在MyEclipse中监听TCP/IP数据传输


1.客户端向”本地监听端口”发起请求,TCP/IP Monitor 获取客户端发送的数据,并显示该数据。


2.TCP/IP Monitor 将在 1 步骤得到的数据转发给”服务器端口”, 服务器端接收数据。


3.TCP/IP Monitor 从接收服务器端返回的数据 , 并显示该数据。


4.TCP/IP Monitor 将在 3 步骤得到的数据返回客户端,客户端接收到数据。

三、打开TCP/IP Monitor步骤

打开 TCP/IP Monitor,创建一个本地代理端口监听服务器 Http 端口就行了。具体步骤如下:

1.打开 WebSphere Commerce 开发环境 , 选择 Windows->Show View->TCP/IP Monitor。

2.在 TCP/IP Monitor 中点击右键,选择 Properties, 点击 Add 添加一个新的本地代理端口,各设置项的含义如下:

使用Tcp/Ip Monitor抓取传输的数据_第2张图片使用Tcp/Ip Monitor抓取传输的数据_第3张图片

local monitoring port: 指定本地代理端口,用于监听服务器端口,随便设置一个就行,只要不跟其他正在使用的端口冲突

Host name: 指定要监听的主机    我监听的当然是国航的主机地址

Port: 指定要监听的服务器端口    

Type: 指定监听的协议类型


3.进行设置并保存,选定该本地代理端口并点击 Start 以打开端口开始监听。

使用Tcp/Ip Monitor抓取传输的数据_第4张图片

//会员基本信息查询测试
	@Test
	public void QueryMember(){
		System.setProperty("http.proxyHost", "localhost");
		System.setProperty("http.proxyPort", "8888");
		Member member=new Member();
		member.setChannel("ZH");
		member.setSubChannel("");
		member.setTradeId("449900009302126514");
		member.setMemberNumber("126502943347");
		ClientUtil clientUtil=new ClientUtil();
		QueryMemberOutput cRMCreateMemberOutput=clientUtil.QueryMember(member);	

	}
然后在客户端调用webservice前设置下你这个请求的代理对象就可以了,端口要和 Tcp/Ip Monitor设置的local monitoring port 一样,然后启动测试

效果如下:

使用Tcp/Ip Monitor抓取传输的数据_第5张图片

这样就可以看到请求和响应的xml报文了

你可能感兴趣的:(软件开发)