WSO2 EI - 在脚本中检索 属性 集

WSO2 EI - retrieving property set inside script

我正在尝试检索脚本中介程序中的 属性 集供以后使用,但它似乎是空白的。这是我的代码:

<script language="js"><![CDATA[var log = mc.getServiceLog();
var payload = mc.getPayloadXML();

var numDevices5GHz = payload["Device.WiFi.AccessPoint.10101.AssociatedDeviceNumberOfEntries"];
log.info("numDevices5GHz :"+numDevices5GHz);
  var devices5GHz = new Array(numDevices5GHz);
//formats 5GHz associated devices parameters
for(i = 0; i<numDevices5GHz; i++){
 var device = new Object();
   device.name="nome"+i;
   device.value=i;
   devices5GHz[i] = device;
 }

mc.setProperty("devices5GHz",devices5GHz);
]]></script>
<log>
    <property expression="get-property('devices5GHz')" name="DEVICES 5GHz"/>
</log>

这是结果:

[2020-03-31 12:11:30,223] [EI-Core]  INFO - CommonScriptMessageContext numDevices5GHz :1
[2020-03-31 12:11:30,224] [EI-Core]  INFO - CommonScriptMessageContext name: nome0, value: 0
[2020-03-31 12:11:30,224] [EI-Core]  INFO - LogMediator To: , WSAction: , SOAPAction: , MessageID: urn:uuid:44561262-94fa-4d92-99f0-d5a25e0d28bd, Direction: response, DEVICES 5GHz = 

因此,我可以看到在脚本内,devices5GHz 阵列有一个成员(稍后将填充真实数据),但是当我尝试在脚本外检索它时,它是空的。我在这里做错了什么?

谢谢。

这是因为 javascript 您在脚本调解器中分配的数组对象无法被 属性 调解器读取。如果您可以在脚本中介器内创建适当的字符串并分配,那么它就可以在脚本中介器外部访问。