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 您在脚本调解器中分配的数组对象无法被 属性 调解器读取。如果您可以在脚本中介器内创建适当的字符串并分配,那么它就可以在脚本中介器外部访问。
我正在尝试检索脚本中介程序中的 属性 集供以后使用,但它似乎是空白的。这是我的代码:
<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 您在脚本调解器中分配的数组对象无法被 属性 调解器读取。如果您可以在脚本中介器内创建适当的字符串并分配,那么它就可以在脚本中介器外部访问。