如何用Apache TCPMon来截获SOAP消息?
来源:互联网 发布:淘宝上怎么查找店铺 编辑:程序博客网 时间:2024/05/02 04:41
如何用Apache TCPMon来截获SOAP消息
【来自】http://www.blogjava.net/heyang/archive/2010/12/10/340294.html
注:以下是关于TCPMon的一些使用常识,如果不需要或是已经熟悉就不用往下看了。
在WebService服务器和客户机之间会传递SOAP消息,有时我们需要得到这些消息以便调试,而Apache的TCPMon可以帮助我们做到这一点。
TCPMon的下载地址在http://ws.apache.org/commons/tcpmon/download.cgi,找到BinaryDistribution,
下载后会得到一个tcpmon-1.0-bin.zip的包,解开后进去\tcpmon-1.0-bin\build目录,双击tcpmon.bat就可以执行程序了。
这里有必要对tcpmon说明一下,它实际上是个代理,起一个消息转发的作用,监视的是转发出去的消息。最终,消息还是要送到具体的地址和端口,否则响应就不正确了。也就是说,TCPMon是一个消息的二传手,它的前后都应该配置正确才行。
现在我们手头有一个WebService测试客户端,一个WebService工程运行在Tomcat服务器中,这就是TCPMon的两端,我们需要把它配置进去。
首先,我们需要修改Tomcat的服务端口,你可以打开Tomcat目录下的conf目录下的server.xml文件,将Connector节点的port属性值从8080改成8088(也可以是其他端口),如下所示:
<Connectorport="8088" protocol="HTTP/1.1" maxThreads="150"connectionTimeout="20000" redirectPort="8443" />
这样,Tomcat服务器就在8088端口进行监听了。
其次,我们需要让TCPMon在8080端口进行监听,并把收到的消息转发到8088端口去。我们找到刚才打开的TCPMon程序,找到admin选项卡,在listen port #:右边的文本框中写入8080,在Target HostName右边的文本框中输入127.0.0.1,在Tatget port右边的文本框中输入8088。如下图。
然后,再点击add按钮。一个名为Port 8080的选项卡会出现,这个界面将负责显示截获的SOAP消息。
接下来就可以启动客户端程序,客户端会向原来一样,向127.0.0.1所在的8080端口送出SOAP消息,而这个消息会被TCPMon截获,然后转送到127.0.0.1所在的8088端口去,然后Tomcat会收到这个SOAP消息交给负责处理的XFire Servlet,处理完的结果会通过TCPMon送回到客户端。在这个过程中,SOAP消息就被完全截获并显示在Port 8080选项卡中了。如下图:
最后,当你的SOAP消息调试结束后,别忘了吧Tomcat的端口改回到8080。
感谢您看到这里。
- 如何用Apache TCPMon来截获SOAP消息?
- 如何用Apache TCPMon来截获SOAP消息
- 如何用Apache TCPMon来截获SOAP消息
- Web Service进阶(二)如何用Apache TCPMon来截获SOAP消息
- 如何用消息队列来代替分布式事务
- 如何用IM来营销?
- 截获消息
- TCPMon
- 如何用IOS调用WebService(SOAP接口)
- 如何用IOS调用WebService(SOAP接口)
- 如何用消息系统避免分布式事务
- 如何用消息系统避免分布式事务?
- 如何用消息系统避免分布式事务
- 如何用消息系统避免分布式事务?
- 如何用消息系统避免分布式事务
- 如何用消息系统避免分布式事务?
- 如何用消息系统避免分布式事务
- 如何用消息系统避免分布式事务?
- DB2中存储过程执行慢问题故障处理
- Android 启动过程简介
- python的中文编码问题
- HttpListener重定向
- select与缓冲区
- 如何用Apache TCPMon来截获SOAP消息?
- sql 插入空,默认1900-01-01 00:00:00.000解决方法
- Ext.form.Combox静态下拉框的编写
- 从JVM内存管理的角度谈谈静态方法和静态属性 和 java对象引用与JVM自动内存管理
- 国外web2.0网站全集
- html<select>控件使用体会
- 基于tcp协议使用wireshark工具
- J2EE 使用maskbarcode.jar实现一维条形码
- IOS开发之CocoaAsyncSocket学习