Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在过滤器中介器中使用XPath函数_Xpath_Wso2_Wso2esb_Synapse - Fatal编程技术网

在过滤器中介器中使用XPath函数

在过滤器中介器中使用XPath函数,xpath,wso2,wso2esb,synapse,Xpath,Wso2,Wso2esb,Synapse,在代理的插入序列中,我使用中的xpath查询进行过滤。但是我想使用XPath函数,比如exists()或count()。但这不起作用,总是会产生一个异常。以下是我的例子: <filter xpath="count($body/myElement)>2"> <drop/> </filter> 如何使这些函数工作?您可以使用xpath函数和筛选器中介来修改synapse段,如下所示 <filter xpath="fn:exists($body/my

在代理的插入序列中,我使用中的xpath查询进行过滤。但是我想使用XPath函数,比如
exists()
count()
。但这不起作用,总是会产生一个异常。以下是我的例子:

<filter xpath="count($body/myElement)>2">
 <drop/>
</filter>

如何使这些函数工作?

您可以使用xpath函数和筛选器中介来修改synapse段,如下所示

<filter xpath="fn:exists($body/myElement)">
 <drop/>
</filter>

您可以参考示例156:服务集成,并指定[1]中提供的接收序列,以了解更多示例

 <filter xpath="fn:number(get-property('SIMPLE_SER_AMT')) > fn:number(get-property('SECURE_SER_AMT'))">

[1]

谢谢,,
Dharshana

对于那些想知道如何使用fn:count的人,您可以尝试:



这对我来说很有用。

这只是解决了exists()函数-但是如何在xpath中进行count()-这个函数也不起作用…fn:number也不起作用!我得到了与count()或exists()相同的异常。我测试了样本156。它与number()函数配合良好。请发布您的synapse,看看哪里出错了。您的操作绝对正确。我发现中的xpath=”“不支持很多函数。由于我遇到了may first问题,我现在在属性表达式中执行整个逻辑。因此,您甚至可以在属性内执行number()。
 <filter xpath="fn:number(get-property('SIMPLE_SER_AMT')) > fn:number(get-property('SECURE_SER_AMT'))">