我花了很多时间来理解如何将bufferInput流或Dataweaveoutputhandler转换为其他数据类型,如string或object或xml
每当我改变表达式
时,我总是会遇到这种类型的错误执行表达式“xpath3('/ *',payload,'NODESET')”失败。 (org.mule.api.expression.ExpressionRuntimeException)。消息有效内容的类型为:BufferInputStream(org.mule.api.transformer.TransformerMessagingException)。消息有效内容的类型为:BufferInputStream 请帮助我知道是否有人解决了这个问题。
答案 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)
请顺其自然。
谢谢!