使用payloadAs的Mule打印缓冲输入流

使用payloadAs的Mule打印缓冲输入流,mule,Mule,下面的日志消息旨在从我的api打印json错误响应 <logger message="#[exception.getCauseException()?.getMuleMessage()?.getPayload()]" level="INFO" doc:name="Logger"/> 此日志消息的结果是 org.glassfish.grizzly.utils。BufferInputStream@486bf09a 我需要传递json响应。如何将上面的日志行转换为这样的内容,它将通过流,

下面的日志消息旨在从我的api打印json错误响应

<logger message="#[exception.getCauseException()?.getMuleMessage()?.getPayload()]" level="INFO" doc:name="Logger"/>
此日志消息的结果是

org.glassfish.grizzly.utils。BufferInputStream@486bf09a

我需要传递json响应。如何将上面的日志行转换为这样的内容,它将通过流,而不仅仅是打印BufferInputStream.toString

<logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>
我尝试了以下不起作用的方法

<logger message="#[exception.getCauseException()?.getMuleMessage().payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>
顺便说一句,记录流并不是我想要解析流的真正目的。我知道那是一个昂贵的手术。我真的需要传递流以从响应中获得一些有意义的信息


谢谢

是的,您是正确的,您必须将输出转换为字符串才能访问它。然后,您必须使用字符串方法操作输出以获得所需的信息。

我在Groovy脚本中完成了这一操作,并且成功了。您是否尝试了ObjectToString转换器?