我想构建一个记录器,记录所有传入的请求及其对数据库的响应。为此我创建了一个axis2模块,它应该在流入和流出中执行此操作 - 我不想触发序列中的日志记录,因为那时我需要将记录器放在我的所有服务中。
我的问题是:如何将ESB中的传入消息与返回消息相关联?我认为这是Synapse的用武之地,但我无法找到将消息链接在一起的正确属性:没有可用于执行此操作的messageId或correlationid。
有没有办法在axis2处理程序中访问消息的Synapse属性?
答案 0 :(得分:1)
Axis2模块是一个正确的选择。要识别请求和响应,您可以检查messageID。如果您想在relavant responsemessage上下文中访问请求messagecontext,请尝试以下代码块;
MessageContext requestMessageCtx = responseMessageCtx.getOperationContext()
.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);