在 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,'://')"
我正在尝试使用 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,'://')"