如何在Java中捕获SOAP请求和响应消息?

时间:2012-09-23 17:54:24

标签: java tomcat soap axis2

SimpleCalculatorStub stub = new SimpleCalculatorStub(null, 
"http://localhost:8080/ControlSOAPMessage/services/SimpleCalculator");

MyAdd reqMyAdd = new MyAdd();
MySub reqMySub = new MySub();
reqMyAdd.setA(4);
reqMyAdd.setB(4);
reqMySub.setA(9);
reqMySub.setB(5);
MyAddResponse resMyAdd = stub.myAdd(reqMyAdd);
MySubResponse resMySub = stub.mySub(reqMySub);
// System.out.println(resMyAdd.get_return()+" :: "+resMySub.get_return());
Integer[] resParams = new Integer[2];
resParams[0]=resMyAdd.get_return();
resParams[1]=resMySub.get_return();
for (int i = 0; i < resParams.length; i++) {
    System.out.println(resParams[i]);
}

我希望在与服务交互时捕获以XML格式进出客户端/服务器的SOAP消息(RAW)的每个请求和响应。

请指导我编写程序代码以及我应该放置编码的位置。 我使用Eclipse Axis2插件制作了这项服务。动态Web项目 - &gt; Web服务(Java,Axis2,Tomcat 6)

我附加了客户端程序(简单的程序)

  • 加法和减法方法

  • 客户端在每个方法中接受两个参数

  • 添加或减去数字并提供结果

请指导我。

非常感谢。

1 个答案:

答案 0 :(得分:0)

使用Apache's TCPMon或者如果您使用eclipse ee,则会将其集成到其中。只需转到Window-&gt; Show View并找到TCP / IP Monitor。这两个用作代理,您的客户端将连接到TCPMon,并配置TCPMon以连接到您的服务器。

您可以将其他工具放在客户端和服务器之间,以便监控流量(如Wireshark)。