Java Axis1.4自定义SOAP日志处理程序

Java Axis1.4自定义SOAP日志处理程序,java,soap,axis,Java,Soap,Axis,我正在尝试在Axis1.4中记录soap请求和响应消息 我已经创建了一个定制的soap日志处理程序,我想为日志文件中的每个请求和响应设置唯一的id 但是,当一个请求已经发送,但由于某些连接问题尚未收到响应,同时又发送了第二个请求,并且立即收到了第二个请求的响应时,会发生什么情况呢。 紧接着就收到了第一个请求的响应。此时不应混合ID。我该怎么办?我可以在请求中使用msgContext.setProperty(“ID”,somegenerateId)并在响应中检索它吗 在这种情况下,日志文件必须如下

我正在尝试在Axis1.4中记录soap请求和响应消息 我已经创建了一个定制的soap日志处理程序,我想为日志文件中的每个请求和响应设置唯一的id

但是,当一个请求已经发送,但由于某些连接问题尚未收到响应,同时又发送了第二个请求,并且立即收到了第二个请求的响应时,会发生什么情况呢。 紧接着就收到了第一个请求的响应。此时不应混合ID。我该怎么办?我可以在请求中使用msgContext.setProperty(“ID”,somegenerateId)并在响应中检索它吗

在这种情况下,日志文件必须如下所示:

请求ID:1

Soap请求正文和其他信息

请求ID:2

Soap响应主体和其他信息

回应编号:2

Soap响应主体和其他信息

响应ID:1(与此响应消息的请求中设置的ID相同。)

Soap响应主体和其他信息

这是我的部分代码

public class CustomSoapLogHandler extends BasicHandler {
     @Override
     public void invoke(MessageContext msgContext) {
          if (msgContext.getResponseMessage() != null && msgContext.getResponseMessage().getSOAPPartAsString() != null) {
                 log.info("ID: {} \n Response Message: {}, ???, msg.getResponseMessage.getSOAPPartAsString());
           } else {
                 log.info("ID: {} \n Request Message: {}, ???, msg.getRequestMessage.getSOAPPartAsString());
           }
     }
}