1

在 Mule 流的中间(在扩展 AbstractTransformer 的类中)我需要从原始消息(通过 SOAPUI 发送到 MULE 的实际 XML)尽可能多地打印(用于记录目的)

为了知道如何获取消息,我试图从 RequestContext.getEvent() 中获取消息,但我无法找到它,有谁知道该怎么做?

现在我正试图通过一种不推荐使用的方法找到我需要的东西:

RequestContext.getEvent().getMessage().getPayload()

但这不是我需要的,而且:

RequestContext.getEvent().getMessage().getPayloadAsString()

不返回任何东西。

4

4 回答 4

0

“在变压器内部”是指在 transformMessage() 方法内部吗?

如果是这样,您可以使用以下命令记录 SOAPUI 内容:

@Override
public Object transformMessage( MuleMessage message, String outputEncoding )
{
    log.info( message.getPayload() );

    ...the rest of your code here
}
于 2013-06-17T15:13:00.607 回答
0

如果您需要访问MuleMessagein a Transformer,请使用 extendextended by org.mule.transformer.AbstractMessageTransformer而不是 extends org.mule.transformer.AbstractTransformer

这将为您提供此方法来覆盖:

public abstract Object transformMessage(MuleMessage message,
                                    String outputEncoding)
                             throws TransformerException
于 2013-06-17T17:13:10.827 回答
0

在 onCall 方法中,我们有 eventContext 使用这个

eventContext.getMessage.getPayload 我们可以得到有效载荷。

于 2015-05-27T07:13:50.497 回答
0

eventContext.getEvent().getMessage().getPayload() 或 eventContext.getEvent().getMessage().getPayloadAsString()

于 2015-08-25T13:51:33.743 回答