axis1.4 服务端获取请求报文报文和客户端获取请求报文和响应报文

最近项目中用到webservice,在调试过程当中踩了无数的坑,所以,老大让不管是请求方还是服务发布端,都要将相应的报文存入数据库。

由此,我们需要获取相应的报文,因为webservice是通过axis1.4设置的,请求webservice也是通过axis方式调用。所以下面讲的也是axis方式。

1.客户端请求 webservice时,获取请求报文:

obj = call.invoke(new Object[]{senderID, serviceID, userID, password, infoType, infoSet});//调用远程服务接口

            MessageContext msgContext = call.getMessageContext();  //获取 请求的 MessageContext
            Message reqMsg = msgContext.getRequestMessage();    
            try {
                qqbw = reqMsg.getSOAPPartAsString();    //获取 SOAP 报文字符串
                System.out.println(qqbw);
            } catch (AxisFault axisFault) {
                axisFault.printStackTrace();
                System.out.println("获取请求报文出错啦------------------------------------------");
            }

参考:http://www.what21.com/programming/java/webservice/aw2.html

2.服务端 获取请求报文:

 MessageContext mc  =  MessageContext.getCurrentContext();
                Message curMsg = mc.getRequestMessage();
                String qqbw = curMsg.getSOAPPartAsString();//请求报文
                System.out.println("

请求报文如下:-------------------------------------------");
                System.out.println(qqbw);

  

Read the fucking manual and source code
原文地址:https://www.cnblogs.com/qxynotebook/p/5808405.html