mortimerfreeze
mortimerfreeze

Reputation: 95

WSO2 EI - < (less than symbol) throwing error in Script mediator (Javascript)

I have 2 variables stored in properties in WSO2 called date1 and date2, which are both date strings in "YYYY-MM-DD" format. I then have a script that parses the dates and compares to see if date2 is less than 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>

However, after building my .car file and deploying, I get this error:

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

Not too sure what I'm doing wrong. Could the dates not be getting parsed correctly?

Upvotes: 0

Views: 268

Answers (1)

Athiththan
Athiththan

Reputation: 2218

Try enclosing the Script mediator logic with CDATA element as following

<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>

Upvotes: 1

Related Questions