【发布时间】:2015-10-30 18:16:42
【问题描述】:
我在 Mule 流程中使用了拆分器,如该问题的答案所述:
Mule splitter using regex returned no results
但是,当我尝试在 Mule 3.2 上执行类似操作时,我收到以下错误:
来自 URL [file:/...] 的 XML 文档中的第 27 行无效;嵌套异常是 org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:发现以元素“表达式语言”开头的无效内容。 '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/core":default-threading-profile, "http://www.mulesoft.org/schema/mule/core":default-dispatcher-threading-profile, "http://www.mulesoft.org/schema/mule/core":default-receiver-threading- 之一profile, "http://www.mulesoft.org/schema/mule/core":default-service-threading-profile, "http://www.mulesoft.org/schema/mule/core":abstract-reconnection-strategy}' 是预期的。 (org.mule.api.lifecycle.InitialisationException)
所以,我的问题是:Mule 3.2 中可以使用以下元素吗?如果不是,那么在那个版本中正确的做法是什么?
<configuration>
<expression-language autoResolveVariables="false">
<import class="org.mule.util.StringUtils" />
</expression-language>
</configuration>
<splitter expression="#[StringUtils.split(message.payload, '\n\r')]" doc:name="Splitter" />
编辑
按照@Ryan Carter 的回答,我使用了以下内容:
<splitter evaluator="groovy" expression="payload.split('\n\r')" doc:name="Splitter" />
这适用于 Mule 3.4,但在 Mule 3.2 上似乎返回一个引发以下警告和后验错误的数组:
Splitter 只返回一个结果。如果这不是预期的,请检查您的拆分表达式
编辑 2
在 Mule 3.2 中,您必须添加 toList() 函数来“拆分”数组,此版本似乎将其视为单个对象。
【问题讨论】:
标签: java xml regex mule mule-studio