java - 打印 Axis2 请求响应 XML

标签 java axis2

我想将 RAW 请求响应 XML 打印到控制台。我已经使用 wsdl2java axis2 创建了 stub 。

wsdl2java 已经创建了 2 个 java 文件,一个用于 stub ,一个用于回调处理程序。

我正在尝试使用以下方法,但得到的是空值

operationContext.getMessageContext("Out");
/
operationContext.getMessageContext("In");.

代码

public void SOAPLogHandler(Stub stub){  

ServiceContext serviceConxt = stub._getServiceClient().getServiceContext();

//**** Enable the Cache to hold the last operation
OperationContext OperationContext  = new OperationContext();
boolean cacheLastOperationContext = true;
OperationContext.setComplete(true); // Enable the Cache value
serviceConxt.setCachingOperationContext(cacheLastOperationContext);
serviceConxt.setLastOperationContext(OperationContext);

OperationContext operationContext = serviceConxt.getLastOperationContext();

if (operationContext != null) {
         MessageContext outMessageContext = operationContext.getMessageContext("Out");
             operationContext.getMessageContexts();
        if (outMessageContext != null) {
            System.out.println("OUT SOAP: "+outMessageContext.getEnvelope().toString());
             }
     MessageContext inMessageContext = operationContext.getMessageContext("In");
if (inMessageContext != null) {
    System.out.println("IN SOAP: "+ inMessageContext.getEnvelope().toString());
                  }
           }

你能告诉我有没有其他方法可以获取原始 xml

最佳答案

我设法通过在 stub (您调用以调用 Web 服务的方法)的方法中添加几行来做到这一点。 我确定了这条线,即

_operationClient.execute(true);

有效联系网络服务并紧随其后添加:

_operationClient.getMessageContext("Out").getEnvelope().serialize(System.out);
_operationClient.getMessageContext("In").getEnvelope().serialize(System.out);

关于java - 打印 Axis2 请求响应 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27170555/

相关文章:

java - 在 Java 中使用 Web 服务

java - 我可以在同一个项目中同时包含 Apache Axis 1 和 2 库吗?

java - 如何在Java中查找以 ","分隔的换行符和单词的数量?

java - 如果 NULL 值如何忽略更新或插入连接

java - 在运行时获取 RelativeLayout 的尺寸

java - 需要调整窗口大小才能使程序正常工作

java - 如何在axis2-java2wsdl-maven-plugin中指定地址位置?

java - 正则表达式从字符串中获取未知长度的前两个单词

java - 从 Java 中的参数化类(Apache CXF、Axis2)生成 Web 服务(WSDL 1.2 或更高版本)

java - 并发请求不匹配响应对象的 Axis2 问题