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