On Sun, May 11, 2014 at 11:32 AM, Ruwan Yatawara <[email protected]> wrote:
> Hi All, > > After much research, we rounded up the problem, this is caused by the API > Manager host object using both synapse and jaggery. As I explained in my > previous email, when we use two different bundles that use different > versions of the same package, inside the same class space, "package use > conflicts" are encountered. > > As a remedy to this problem, we need to upgrade the org.mozilla.javascript > version used by jaggery to version 1.7.0. This will also involve a possible > upgrade of bsf versions / changing the synapse ScriptMediator to > accommodate for possible API changes. > This would mean in future, when org.mozilla.javascript version increments, both of these usage points should be updated. right? If so, can we have a comment next to Jaggery's org.mozilla.javacript version element mentioning this please. That would save lot of time in future. > > Thanks much, Kisanthan, Ruchira and Manu for all your help. > > Thanks and Regards, > > Ruwan Yatawara > > WSO2 Inc. > > email : [email protected] > mobile : +94 77 9110413 > blog : http://thoughts.ruwan-ace.com/ > www: :http://wso2.com > > > > On Fri, May 9, 2014 at 10:56 AM, madhuka udantha <[email protected] > > wrote: > >> Hi, >> >> This[1] can be helpful for such scenario, >> And you issue encounter is correct, >> *You can check some AS releases, where it also occurred and fixed as we >> added jaggery and mashup to AS.* >> >> [1] >> http://madhukaudantha.blogspot.com/2014/02/writing-hostobject-for-jaggery.html >> >> >> >> On Fri, May 9, 2014 at 8:53 AM, Ruchira Wageesha <[email protected]>wrote: >> >>> Please meet me in the office. Will be able to help you. >>> >>> /Ruchira >>> >>> >>> On Fri, May 9, 2014 at 12:02 AM, Ruwan Yatawara <[email protected]> wrote: >>> >>>> Hi All, >>>> >>>> We ran in to $subject when trying to use the script mediator in API >>>> Manager. >>>> >>>> When trying to use script mediator in AM APIs the following error is >>>> thrown. >>>> >>>> *Caused by: java.lang.NoClassDefFoundError: >>>> com/sun/phobos/script/javascript/RhinoScriptEngineFactory* >>>> * at >>>> org.apache.synapse.mediators.bsf.ScriptMediator.initScriptEngine(ScriptMediator.java:472)* >>>> * at >>>> org.apache.synapse.mediators.bsf.ScriptMediator.initInlineScript(ScriptMediator.java:338)* >>>> * at >>>> org.apache.synapse.mediators.bsf.ScriptMediator.<init>(ScriptMediator.java:148)* >>>> >>>> >>>> To the best of my understanding, following is whats happening here. >>>> >>>> The script mediator depends on the bsf-all_3.0.0.wso2v2, which needs >>>> org.mozilla.javascript; version="1.6.0" or above to function. >>>> >>>> Jaggery is built to support org.mozilla.javascript; version="1.7.0" and >>>> above, and the API Manager host object, depends on both jaggery and synapse >>>> to function. When all of this comes together, we believe synapse has a >>>> problem with wiring the correct bundles (package usage conflict), leading >>>> to above quoted error. >>>> >>>> To overcome this, there are two options, and both seem to have >>>> considerable consequences >>>> >>>> a) Update the BSF jar to use org.mozilla.javascript; version="1.7.0" >>>> >>>> b) Update Synapse, restricting it to use org.mozilla.javascript; >>>> version="1.6.0", only and APIM host objects to use 1.7.0 specifically. >>>> >>>> >>>> Since Option A might require changes to ESB script mediator, as API >>>> changes may be in effect, we went ahead with option (b). This leads to >>>> errors in the API Manager Host objects and the bundle goes in to INSTALLED >>>> state. The following error is thrown, at startup and there are also errors >>>> when trying to invoke the API. >>>> >>>> *[2014-05-08 23:56:16,246] ERROR - ModuleManager Error while adding >>>> HostObject : APIStore >>>> org.wso2.carbon.apimgt.hostobjects.APIStoreHostObject* >>>> *java.lang.ClassNotFoundException: >>>> org.wso2.carbon.apimgt.hostobjects.APIStoreHostObject* >>>> * at >>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)* >>>> * at >>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)* >>>> >>>> >>>> Has anyone encountered such an issue before? How should we go about >>>> fixing this? Your thoughts/ideas/suggestions are welcome. >>>> >>>> >>>> Thanks and Regards, >>>> >>>> Ruwan Yatawara >>>> >>>> WSO2 Inc. >>>> >>>> email : [email protected] >>>> mobile : +94 77 9110413 >>>> blog : http://thoughts.ruwan-ace.com/ >>>> www: :http://wso2.com >>>> >>>> >>> >>> >>> -- >>> >>> *Ruchira Wageesha**Associate Technical Lead* >>> *WSO2 Inc. - lean . enterprise . middleware | wso2.com >>> <http://wso2.com>* >>> >>> *email: [email protected] <[email protected]>, blog: >>> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>, >>> mobile: +94 77 5493444 <%2B94%2077%205493444>* >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> Cheers, >> Madhuka Udantha >> http://madhukaudantha.blogspot.com >> > > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- /sumedha m: +94 773017743 b : bit.ly/sumedha
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
