"включает" функцию Javascript, не работающую в посреднике сценариев WSO2 ESB
"включает" функцию Javascript, не работающую в посреднике сценариев WSO2ESB. Я пробовал это с помощью WSO2ESB.
<script language="js"><![CDATA[
var dateFromPayload = mc.getProperty("dateFrom");
var dateToPayload = mc.getProperty("dateTo")
function compareDates() {
var result = false;
print("hiiiii");
print(dateFromPayload.toString());
print(dateToPayload.toString());
var test= "dddd";
if (dateFromPayload.toString().includes("/") || dateToPayload.toString().includes("/")) {
result = false;
} else {
var dateFrom = new Date(dateFromPayload);
var dateTo = new Date(dateToPayload);
result = dateFrom.getTime() <= dateTo.getTime();
if (!result) {
result = false;
}
}
mc.setProperty("fromToDateValidated", result);
}; compareDates()]]></script>
1 ответ
Решение
Это может быть связано с тем, что базовый движок JavaScript, используемый в ESB, не поддерживает includes()
функционировать еще. Основной движок javascript - Mozilla Rhino, версия 1.7R4. Возможно, эта версия не поддерживает вышеуказанную функцию. includes()
как это включено из ECMAScript 6.
В качестве альтернативного подхода вы можете использовать indexOf()
функционировать, как показано ниже.
if (dateFromPayload.toString().indexOf("/") != -1) {
result = false;
}