如何在wso2 ESB中对多个参数使用过滤器

时间:2016-01-19 16:01:36

标签: xpath service filter wso2

我知道要检查一个参数,我们必须做这样的事情

使用布尔值xpath函数来验证您的属性是否存在:

<filter xpath="boolean(get-property('ModifiedOn'))">
   <then> 
      ...
   </then>
   <else>
      ...
   </else>
</filter>

请告诉我如何检查是否有多个参数。我的意思是我们需要检查3个参数。我们怎么能这样做?

3 个答案:

答案 0 :(得分:2)

指定所有必须为true的条件并将其评估为布尔值:

<filter xpath="boolean(boolean(get-property('ModifiedOn') and 
                       boolean(get-property('prop2')) and 
                       boolean(get-property('prop3'))">
   <then> 
      ...
   </then>
   <else>
      ...
   </else>
</filter>

答案 1 :(得分:0)

作为解决方案,您可以设置如下参数:

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

有关详细信息,请参阅示例156:服务集成,并指定[1]上可用的接收顺序

希望这些信息能为您提供帮助。

答案 2 :(得分:0)

就我而言,所列解决方案均无效。我正在使用WSO2版本:6.5 我能够满足以下多个条件:

df['sentence'] = df[['sentence','idx']].apply(add_tags_to_sentence,axis=1)

此表达式将确保在运行'then'子句中的代码之前先填充值1、2和3。