首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MEL表达问题

MEL表达问题
EN

Stack Overflow用户
提问于 2014-11-01 22:31:09
回答 1查看 962关注 0票数 0

我定义了一个全局函数如下

代码语言:javascript
复制
<configuration doc:name="Configuration">
    <expression-language autoResolveVariables="true">
        <import class="java.text.SimpleDateFormat" />
        <global-functions>
            def convertDate(shiftDate){
                dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                return dateFormat.format(shiftDate);
            }            
        </global-functions>         
    </expression-language>
</configuration>

但是当通过记录器打电话时,似乎什么都没有发生

代码语言:javascript
复制
<logger message="Convert Date #[convertDate(xpath://address/@timestamp)]" level="DEBUG" doc:name="Logger"/>

xpath表达式xpath://address/@时间戳产生2014-10-29T15:23:07

但在我看到伐木者之前

xpath-分支:/address/@时间戳是: org.dom4j.tree.DefaultAttribute@6452310a属性:名称时间戳值"2014-10-29T15:23:07“

错误消息如下所示

代码语言:javascript
复制
org.mule.api.expression.InvalidExpressionException: [Error: unexpected end of statement]
[Near : {... convertDate(xpath://address/@payloadID) ....}]

我在这里做错什么了?非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-03 06:08:43

你把梅尔和老式的表情混在一起了。

这是旧风格:xpath://address/@payloadID

我是梅尔:xpath('//address/@payloadID').value

所以你需要使用:

代码语言:javascript
复制
<logger
   message="Convert Date #[convertDate(xpath('//address/@payloadID').value)]"
   level="DEBUG" />

请参阅:http://www.mulesoft.org/documentation/display/current/Mule+Expression+Language+Tips#MuleExpressionLanguageTips-XPathSupport

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26693943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档