【发布时间】:2019-03-25 09:17:54
【问题描述】:
我将调用多个 WSO2 ESB 序列中介,使用脚本中介。这将按照 XML 标记格式循环。根据序列名称,它将循环。我需要根据这个xml标签值调用sequence。
<message>
<postCallSequences>
<order>1</order>
<sequencename>gov:/repository/sequences/AB_SQ.xml</sequencename>
</postCallSequences>
<postCallSequences>
<order>2</order>
<sequencename>gov:/repository/sequences/XY_SQ.xml</sequencename>
</postCallSequences>
</message>
我在 XML 之上有循环,就像下面的脚本中介一样。
var xmlDoc = new XML("XML_STRING_HERE");
for each (var p in xmlDoc..*::postCallSequences){
var sequencename = p.sequencename.toString();
var seq = mc.getSequence(sequencename);
seq.mediate(mc);
//seq.get(0).mediate(mc);
}
但它没有完全运行,它显示以下错误消息。
[2019-03-25 14:39:31,960] [EI-Core] ERROR - SequenceMediator Error while building message. null
java.lang.ClassCastException
[2019-03-25 14:39:31,960] [EI-Core] ERROR - CommonScriptMessageContext Error while building message. null
java.lang.ClassCastException
[2019-03-25 14:39:31,973] [EI-Core] ERROR - ScriptMediator The script engine returned an error executing the inlined js script function mediate
com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.WrappedException: Wrapped org.apache.synapse.SynapseException: Error while building message. null (<Unknown Source>#21) in <Unknown Source> at line number 21
at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68)
at javax.script.CompiledScript.eval(CompiledScript.java:92)
at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlineScript(ScriptMediator.java:394)
at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:289)
at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:257)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:108)
我也参考了以下链接。仍然有问题。 link
【问题讨论】:
标签: javascript wso2 wso2esb wso2ei