如何使用筛选器和xpath比较WSO2 ESB代理服务中的日期

如何使用筛选器和xpath比较WSO2 ESB代理服务中的日期,wso2,wso2esb,Wso2,Wso2esb,我需要制作一个具有以下条件的过滤器: <filter xpath= current-dateTime > ( lastUpdateDate + 30 days ) ... (lastUpdateDate+30天)。。。 在代理服务中执行此操作的最佳方式是什么?。因为可以在lastUpdateDate?上增加30天 谢谢。您可以使用脚本中介器和xpath在筛选器中介器中执行此任务。当您按如下方式获取属性的系统日期时 <property name="date" expressi

我需要制作一个具有以下条件的过滤器:

<filter xpath= current-dateTime > ( lastUpdateDate + 30 days ) ...
(lastUpdateDate+30天)。。。
在代理服务中执行此操作的最佳方式是什么?。因为可以在lastUpdateDate?上增加30天


谢谢。

您可以使用脚本中介器和xpath在筛选器中介器中执行此任务。当您按如下方式获取属性的系统日期时

<property name="date" expression="get-property('SYSTEM_DATE', 'yyyy.MM.dd')" scope="default"/>

那么日期的值将采用“2012.11.23”格式。同样,当以该格式定义“lastUpdateDate”时,以下配置将创建所需的过滤器

<script language="js">
    var date = new Date();
    date.setDate(date.getDate()-30);
    var formattedTime = date.getFullYear() + '.' + ("0" + (date.getMonth()+1)).slice(-2) + '.' + ("0" + date.getDate()).slice(-2);  
    mc.setProperty("modifiedDate",formattedTime);
</script>        
<filter xpath="number(translate(get-property('modifiedDate'),'.','')) > number(translate(get-property('lastUpdateDate'),'.',''))">      
    <then>.....

变量日期=新日期();
date.setDate(date.getDate()-30);
var formattedTime=date.getFullYear()+'.+(“0”+(date.getMonth()+1)).slice(-2)+'.+(“0”+date.getDate()).slice(-2);
mc.setProperty(“modifiedDate”,formattedTime);
.....