WSO2 EI - получение набора свойств внутри скрипта - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь получить набор свойств внутри посредника сценария для дальнейшего использования, однако он кажется пустым. Это мой код:

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

Итак, я вижу, что внутри скрипта массив55 ГГц имеет одного члена (это будет позже заполнены реальными данными), но когда я пытаюсь получить их вне скрипта, он пуст. Что я здесь не так делаю?

Спасибо.

1 Ответ

4 голосов
/ 31 марта 2020

Это связано с тем, что объект массива javascript, который вы назначаете внутри посредника Script, не может быть прочитан посредником Property. Если вы можете создать соответствующую строку внутри посредника Script и назначить ее, тогда она станет доступной вне посредника Script.

...