【发布时间】:2014-03-25 12:31:13
【问题描述】:
我尝试添加一个包含 java 脚本中介的序列,如下所示:
"<sequence name="response">
<script language="js">
mc.setPayloadXML(
<greeting>Hello World</greeting>
);
</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>"
*但是,一旦我按下更新按钮就会发生错误,整个函数堆栈都显示在日志中,我检查了 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/RhinoScriptEngineFactory {org.apache.axis2.rpc.receivers.RPCMessageReceiver} java.lang.reflect.InvocationTargetException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 ...... 原因:java.lang.NoClassDefFoundError: com/sun/phobos/script/javascript/RhinoScriptEngineFactory 在 org.apache.synapse.mediators.bsf.ScriptMediator.initScriptEngine(ScriptMediator.java:475) 在 org.apache.synapse.mediators.bsf.ScriptMediator.initInlineScript(ScriptMediator.java:341) 在 org.apache.synapse.mediators.bsf.ScriptMediator.(ScriptMediator.java:146) 在 org.apache.synapse.mediators.bsf.ScriptMediatorFactory.createSpecificMediator(ScriptMediatorFactory.java:105) 在 org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:91) 在 org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:223) 在 org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:41) 在 org.apache.synapse.config.xml.SequenceMediatorFactory.createSpecificMediator(SequenceMediatorFactory.java:87) 在 org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:91) 在 org.wso2.carbon.mediation.configadmin.ConfigurationValidator.validateSequence(ConfigurationValidator.java:90) 在 org.wso2.carbon.mediation.configadmin.ConfigurationValidator.validate(ConfigurationValidator.java:73) 在 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.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) atorg.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoa .. 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 73 更多”
我查找了关于你给其他人https://wso2.org/jira/browse/ESBJAVA-1685的相同问题的解决方案,但它没有生效。我在谷歌搜索了很长时间,有人说错误已经修复或者设置时OSGI Frame有问题,但是其他人有同样的问题我仍然坚持,所以请给我们一个关于如何在WSO2 AM 1.5中使用脚本中介的完整解决方案,tks很多!
【问题讨论】: