WSO2 EI-检索脚本中设置的属性

问题描述 投票:0回答:1

我正在尝试检索脚本介体内部的属性集以供以后使用,但是它似乎为空。这是我的代码:

<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阵列中只有一个成员(稍后将填充实际数据),但是当我尝试在脚本之外检索它时,它是空的。我在这里错了吗?

谢谢。

wso2 wso2esb wso2ei
1个回答
0
投票

这是因为您在脚本介体中分配的javascript数组对象无法由属性介体读取。如果可以在脚本介体中创建适当的字符串并进行分配,则可以在脚本介体之外访问它。

© www.soinside.com 2019 - 2024. All rights reserved.