0

我有 2 个变量存储在 WSO2 的属性中,称为 date1 和 date2,它们都是“YYYY-MM-DD”格式的日期字符串。然后我有一个脚本来解析日期并进行比较以查看 date2 是否小于 date1。

<script language ="js">
    var log = mc.getServiceLog();
    var date1 = Date.parse(mc.getProperty('date1'));
    var date2 = Date.parse(mc.getProperty('date2'));
    log.info(date1);
    log.info(date2);
    var date2Before1 = (date2 < date1) ? true : false;
    mc.setProperty("date2Before1", date2Before1);
</script>

但是,在构建我的 .car 文件并进行部署后,我收到此错误:

Caused by: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ' ' (code 32) in content after '<' (malformed start element?).

不太确定我做错了什么。不能正确解析日期吗?

4

1 回答 1

1

尝试使用 CDATA 元素封闭脚本中介逻辑,如下所示

<script language="js">
    <![CDATA[
        var log = mc.getServiceLog();
        var date1 = Date.parse(mc.getProperty('date1'));
        var date2 = Date.parse(mc.getProperty('date2'));
        log.info(date1);
        log.info(date2);
        var date2Before1 = (date2 < date1 ) ? true : false;
        mc.setProperty("date2Before1", date2Before1);
    ]]>
</script>
于 2021-06-23T17:42:50.017 回答