在 wso2 esb 中使用 Xpath 函数

using Xpath function in wso2 esb

我正在尝试使用 fn:contains 作为 wso2 esb 过滤器调解器中的 xpath 条件。

我需要查找给定字符串中是否存在以下模式 ://。因此,我将字符串(地址)保存在 属性 中,并从过滤器调解器中调用了 属性。

地址=mq://xxx.xxx.xx@xx.xx.xx

我尝试了以下组合,但没有任何效果

fn:contains('get-property('address')','://')
fn:contains(get-property('address'),'://')
fn:contains("get-property('address')",'://')

如果我给出地址字符串本身而不是 get-属性,它就成功了!以下组合也有效

"fn:contains(get-property('address'),'://')"

但是保存后,上面提到的 xpath 没有在设计视图中显示。 XPATH 为空。

请问有什么关于这个问题的意见吗?

您似乎 'fun with quotes'。要解决此问题,您可以使用 $ctx 代替 get-属性()。 $ctx 是一个 Synapse xpath variable,它允许您访问在默认范围内设置的属性。您可以检查 link 以获取其他 xpath 变量。

尝试使用:

"fn:contains($ctx:address,'://')"