【问题标题】:using Xpath function in wso2 esb在 wso2 esb 中使用 Xpath 函数
【发布时间】:2017-05-09 04:09:54
【问题描述】:

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

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

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

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

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

如果我给出地址字符串本身而不是 get-property,它就起作用了!以下组合也有效

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

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

请对这个问题有任何意见吗?

【问题讨论】:

    标签: xml xpath wso2esb mediator


    【解决方案1】:

    您似乎在“享受引号的乐趣”。要解决此问题,您可以使用 $ctx 代替 get-property()。 $ctx 是一个Synapse xpath variable,它允许您访问在默认范围内设置的属性。您可以查看其他 xpath 变量的链接。

    尝试使用:

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

    【讨论】:

    • 很高兴为您提供帮助,欢迎来到 Stack Overflow。如果此答案解决了您的问题,请将其标记为已接受。
    猜你喜欢
    • 2017-10-19
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多