如何从Mule消息中获取原始有效负载?

时间:2013-06-17 14:38:11

标签: mule

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

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

现在我试图通过弃用的方法找到我需要的东西:

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

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

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

不会返回任何内容。

4 个答案:

答案 0 :(得分:0)

通过“变换器内部”,你的意思是在transformMessage()方法中吗?

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

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

    ...the rest of your code here
}

答案 1 :(得分:0)

如果您需要访问MuleMessage中的Transformer,请展开extended by org.mule.transformer.AbstractMessageTransformer,而不是展开org.mule.transformer.AbstractTransformer

这将为您提供覆盖的方法:

public abstract Object transformMessage(MuleMessage message,
                                    String outputEncoding)
                             throws TransformerException

答案 2 :(得分:0)

在onCall方法中,我们有使用此

的eventContext

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

答案 3 :(得分:0)

eventContext.getEvent()。的getMessage()。getPayload() 要么 eventContext.getEvent()。的getMessage()。getPayloadAsString()