2014-02-24 23 views
0

我嘗試添加包含如下一個java腳本中介序列:在WSO2AM的腳本中介誤差1.5

"<sequence name="response"> 
    <script language="js"> 
     mc.setPayloadXML(
     &lt;greeting&gt;Hello World&lt;/greeting&gt; 
     ); 
    </script> 
    <header name="To" action="remove"/> 
    <property name="messageType" value="application/json" scope="axis2"/>  
    <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> 
    <property name="RESPONSE" value="true"/> 
    <send/> 
    <log level="full"/> 
</sequence>" 

* Howerver,這一次我按下更新按鈕出現錯誤,整個功能堆棧顯示在日誌中,我檢查jar「bsf-all,3.0.0.wso2v2」,它確實包含缺少的類,並且該jar顯示在捆綁信息「bsf-all,3.0.0 .wso2v2,../plugins/bsf-all_3.0.0.wso2v2.jar,4,true「:*com/sun/phobos/script/javascript/RhinoScriptE ngineFactory {org.apache.axis2.rpc.receivers.RPCMessageReceiver} java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) 在...... 產生的原因:java.lang.NoClassDefFoundError:COM /陽光/火衛一/腳本/ JavaScript的/ RhinoScriptEngineFactory 在org.apache.synapse.mediators.bsf.ScriptMediator.initScriptEngine(ScriptMediator .java:475) at org.apache.synapse.mediators.bsf.ScriptMediator.initInlineScript(ScriptMediator.java:341) at org.apache.synapse.mediators.bsf.ScriptMediator。(ScriptMediator.java:146) at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:91) at org.apache。org.apache.synapse.mediators.bsf.ScriptMediatorFactory.createSpecificMediator(ScriptMediatorFactory.java:105) 在org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:41) 處的synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:223) 。 SequenceMediatorFactory.createSpecificMediator(SequenceMediatorFactory.java:87) at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:91) at org.wso2.carbon.mediation.configadmin.ConfigurationValidator.validateSequence(ConfigurationValidator。 java:90) at org.wso2.carbon.mediation.configadmin.ConfigurationValidator.validate(ConfigurationValidator.java:73) at org.wso2.carbon.mediation.configadmin.ConfigAdmin.validateConfiguration(ConfigAdmin.java:180) ... 61更多 所致:拋出java.lang.ClassNotFoundException:com.sun.phobos.script.javascript.RhinoScriptEngineFactory 在org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) 在org.eclipse。在org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) atorg.eclipse.osgi.internal.baseadaptor.DefaultClassLoader .loadClass(DefaultClassLoa .. at java.lang.Cla ssLoader.loadClass(ClassLoader.java:248) ...... 73多個」

我仰望同一個問題的解決,你給其他人https://wso2.org/jira/browse/ESBJAVA-1685,但它並不需要effect.And我搜索谷歌對於這個問題很長一段時間,有人說這個錯誤已經修復了,或者它在OSGI Frame設置時出錯了,但是其他人對我的問題仍然存在,所以請給我們提供一個完整的解決方案在WSO2 AM 1.5中使用腳本調解器,很多!

回答

0

我們用來提供腳本引擎的bsf jar有個問題..作爲替代方式,您可以使用豐富/有效載荷工廠調解器來完成以上任務

+0

您是否嘗試解決AM中的問題?這是你的工作計劃嗎?我嘗試使用WSO2 ESB 4.8.1。腳本中介可以成功添加,因此導致錯誤的原因必須隱藏ESB和AM之間的差異。請看看它,tks,希望很快看到你的答案。 – Impress

+0

是的,我們將在即將發佈的版本中修復此問題 – Ratha

+0

我想問另一個問題嗎?除了「mc.getPayloadXML」,如果我想從messagebody中提取信息,可以使用什麼。 – Impress