首页 > 解决方案 > XPath 表达式的评估导致错误

问题描述

我正在尝试对字符串(例如,FHP2019/0156)执行简单的 XPath 表达式。我的目标是用字符替换/字符_

我使用的 XPath 表达式是:fn:replace($ctx:ApplicationID , '/', '_')

但我收到以下错误:

XPath 表达式 fn:replace($ctx:ApplicationID , '/', '_') 的评估导致错误

标签: xpathwso2wso2esbwso2ei

解决方案


因为,replace 是一个 XPATH 2.0 功能,所以您必须在 esb 中启用 xpath 2.0。取消注释 synapse.properties conf 文件中的“synapse.xpath.dom.failover.enabled=true”行并重新启动服务器。您可能需要将表达式从“ fn:replace($ctx:ApplicationID , '/', ' ') ”更改为“ replace($ctx:ApplicationID , '/', ' ')

请注意,启用 xpath 2.0 功能可能会影响已定义的其他 xpath 表达式。在这种情况下,您可能必须找到 fn:replace 的替代方法。


推荐阅读