如何在mule esb中查询bufferInput流

时间:2016-08-11 10:19:28

标签: mule mule-studio mule-component mule-el

我花了很多时间来理解如何将bufferInput流或Dataweaveoutputhandler转换为其他数据类型,如string或object或xml

每当我改变表达式

时,我总是会遇到这种类型的错误

执行表达式“xpath3('/ *',payload,'NODESET')”失败。 (org.mule.api.expression.ExpressionRuntimeException)。消息有效内容的类型为:BufferInputStream(org.mule.api.transformer.TransformerMessagingException)。消息有效内容的类型为:BufferInputStream 请帮助我知道是否有人解决了这个问题。

2 个答案:

答案 0 :(得分:1)

错误的xpath3表达式抛出异常,而不是错误的有效负载类型。你在拆分器中使用xpath3?在工作的xpath3表达式示例下面粘贴一些xml。

<splitter expression="#[xpath3('//YOUR_NODENAME',payload, 'NODESET')]" doc:name="Splitter"/>

如果您想记录有效负载,请尝试:

<logger message="Response := #[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>

答案 1 :(得分:0)

Apache为我们提供了很好的库,可以在各种数据类型之间进行转换。 http://axis.apache.org/axis2/java/core/apidocs/org/apache/axis2/databinding/utils/ConverterUtil.html#convertToDataHandler(java.lang.String)

请顺其自然。

谢谢!