Ошибка посредника скрипта в WSO2AM 1.5

Я пытаюсь добавить последовательность, содержащую посредник сценария Java, как показано ниже:

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

Я ищу решение той же проблемы, которую вы дали другому человеку https://wso2.org/jira/browse/ESBJAVA-1685, но это не действует. И я долго ищу в Google вопрос, кто-то сказал, что ошибка исправлена ​​или что-то не так с OSGI Frame, когда он настраивается, но у других такая же проблема, но я все еще придерживаюсь этого, поэтому, пожалуйста, дайте нам полное решение о том, как использовать посредник сценариев в WSO2 AM 1.5, спасибо большое!

Возникла проблема с файлом bsf jar, который мы используем для обеспечения механизма сценариев. В качестве альтернативы вы можете использовать посредник фабрики обогащения / полезной нагрузки для выполнения вышеуказанной задачи.


person Impress    schedule 24.02.2014    source источник


Ответы (1)


Вы пытались решить проблему в AM? Это в вашем рабочем плане? Пробую использовать WSO2 ESB 4.8.1. Скрипт-посредник может быть успешно добавлен, поэтому причина ошибки должна скрываться в различиях между ESB и AM. Пожалуйста, загляните в него, спасибо, надеюсь скоро увидеть ваш ответ.

person Ratha    schedule 24.02.2014
comment
Да, мы исправим это в нашем следующем выпуске - person Impress; 25.02.2014
comment
И я хочу задать еще один вопрос? Помимо mc.getPayloadXML, что можно использовать, если я хочу извлечь информацию из тела сообщения. - person Ratha; 25.02.2014
comment
вы можете использовать enrich meditator для доступа к телу сообщения с помощью xpath $ body - person Impress; 25.02.2014
comment
sorg.apache.synapse.mediators.elementary.EnrichMediator - это посредник, верно? И кажется, что xpath может обрабатывать только сообщение xml, поэтому мне нужно сначала передать сообщение, если тип содержимого не xml? не могли бы вы привести мне пример? - person Ratha; 25.02.2014
comment
* Howerver, когда я нажимаю кнопку «Обновить», возникает ошибка, в журнале отображается весь стек функций, я проверяю банку «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. (собственный метод). 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 .media AbstractMediatorFactory.java:91) в org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator (MediatorFactoryFinder.java:223) в org.apache.synapse.config.xml.AbstractListMediatorFactory.addctoryChildava (: AbstractFactory. .apache.synapse.config.xml.SequenceMediatorFactory.createSpecificMediator (SequenceMediatorFactory.java:87) в org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator (AbstractMediatorFactory.java. .ConfigurationValidator.validateSequence (ConfigurationValidator.java:90) в org.wso2.carbon.mediation.configadmin.ConfigurationValidator.validate (ConfigurationValidator.java:73) в org.wso2.carbon.mediation.configadmin.Conf igAdmin.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.BundleClassLoader (BundleClassLoader. .java: 412) atorg.eclipse.osgi.internal.baseadaptor. DefaultClassLoader.loadClass (DefaultClassLoa .. at java.lang.ClassLoader.loadClass (ClassLoader.java:248) ... еще 73 " - person Impress; 26.02.2014