WSO2 脚本中介 Payload append child
WSO2 script mediator Payload append child
我正在使用 WSO2 ESB 4.8.1,特别是我要面对脚本中介。我需要解决一个疑问。
我需要构建一个这样的有效载荷:
<response>
<urls>
<url>http://myfirsturl</url>
<url>http://mysecondurl</url>
<url>>http://mythirdurl</url>
</urls>
</response>
在我的脚本调解器中,我写了这段代码:
<script language="js">
...
...
var clinvarPayload = <response><urls></urls></response>
for (i = 0; i < myArray.length; ++i){
clinvarPayload..*::urls.url = myArray[i]
}
mc.setPayloadXML(clinvarPayload);
我的问题是,在 for 循环结束后,我得到的响应仅包含最后一个 myArray 元素,即:
<response>
<urls>
<url>http://mythirdurl</url>
</urls>
</response>
我的代码有什么问题?
我如何附加 myArray 元素?
您可以使用 appendChild 方法添加新节点或 += 运算符
参见this:修改XML
我正在使用 WSO2 ESB 4.8.1,特别是我要面对脚本中介。我需要解决一个疑问。 我需要构建一个这样的有效载荷:
<response>
<urls>
<url>http://myfirsturl</url>
<url>http://mysecondurl</url>
<url>>http://mythirdurl</url>
</urls>
</response>
在我的脚本调解器中,我写了这段代码:
<script language="js">
...
...
var clinvarPayload = <response><urls></urls></response>
for (i = 0; i < myArray.length; ++i){
clinvarPayload..*::urls.url = myArray[i]
}
mc.setPayloadXML(clinvarPayload);
我的问题是,在 for 循环结束后,我得到的响应仅包含最后一个 myArray 元素,即:
<response>
<urls>
<url>http://mythirdurl</url>
</urls>
</response>
我的代码有什么问题? 我如何附加 myArray 元素?
您可以使用 appendChild 方法添加新节点或 += 运算符
参见this:修改XML