Hi danushka, Thanks for the info. I did a normal java call, not a osgi service call.
This has happened because jar was not it the server repository location. bundle was not copied to repository/components/dropins folder. Once I copied it, it worked. On Fri, Jun 12, 2015 at 2:29 PM, <[email protected]> wrote: > Hi Mahesh > When we register an osgi service to a bundle, Any component can retrieve > it. Usually we do it in Service Component where we write the scr > references. And we keep reference to an object of the service and we use > only inside the given component. If we need it in another component we > retrieve same from there too. That's how its done in java components. But > when it comes to a web application (or jiggery application) since they are > not running in osgi framework they cannot refer to the osgi services in the > same manner. So we retrieve it from carbon context. > We have done this call every where in our application. > > CarbonContext.getThreadlocalCarbonContext().getOSGIService(“<service > name>”) > > You have to retrieve the service in the above manner in your code. > > Hope the explanation is clear to you. > > Thanks & Regards > Danushka Fernando > Senior Software Engineer > WSO2 inc. http://wso2.com/ > Mobile : +94716332729 > > *From:* Mahesh Chinthaka <[email protected]> > *Sent:* Friday, June 12, 2015 10:36 AM > *To:* WSO2 Developers' List <[email protected]> > > Hi , > > Im trying to call a java method from a jaggery module. > We have called same method from java side like follows > > AppFactoryS4ListenersUtil.getTenantRegistryLoader().loadTenantRegistry(tenantId); > > my jaggery code is like follows > > var tenantId=getTenantId(); > var s4util = > Packages.org.wso2.carbon.appfactory.stratos.util.AppFactoryS4ListenersUtil; > s4util.getTenantRegistryLoader().loadTenantRegistry(tenantId); > > And Im getting following error > > > TID: [0] [AF] [2015-06-12 10:22:05,387] ERROR > {org.jaggeryjs.jaggery.core.manager.WebAppManager} - > org.mozilla.javascript.EcmaError: TypeError: Cannot call property > getTenantRegistryLoader in object [JavaPackage > org.wso2.carbon.appfactory.stratos.util.AppFactoryS4ListenersUtil]. It is > not a function, it is "object". (/appmgt/modules/manager/manager.jag#331) > {org.jaggeryjs.jaggery.core.manager.WebAppManager} > org.jaggeryjs.scriptengine.exceptions.ScriptException: > org.mozilla.javascript.EcmaError: TypeError: Cannot call property > getTenantRegistryLoader in object [JavaPackage > org.wso2.carbon.appfactory.stratos.util.AppFactoryS4ListenersUtil]. It is > not a function, it is "object". (/appmgt/modules/manager/manager.jag#331) > at > org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571) > at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273) > at > org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:541) > at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) > at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178) > at > org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) > at > org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56) > at > org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141) > at > org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot call > property getTenantRegistryLoader in object [JavaPackage > org.wso2.carbon.appfactory.stratos.util.AppFactoryS4ListenersUtil]. It is > not a function, it is "object". (/appmgt/modules/manager/manager.jag#331) > at > org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687) > at > org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665) > at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693) > at org.mozilla.javascript.ScriptRuntime.typeError3(ScriptRuntime.java:3719) > at > org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3786) > at > org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2269) > at > org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2251) > at > org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:83) > at > org.jaggeryjs.rhino.appmgt.modules.manager.c1._c_anonymous_17(/appmgt/modules/manager/manager.jag:331) > at > org.jaggeryjs.rhino.appmgt.modules.manager.c1.call(/appmgt/modules/manager/manager.jag) > at > org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) > at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) > at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) > at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) > at > org.jaggeryjs.rhino.appmgt.modules.manager.c0._c_anonymous_14(/appmgt/modules/manager/module.jag:61) > at > org.jaggeryjs.rhino.appmgt.modules.manager.c0.call(/appmgt/modules/manager/module.jag) > at > org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:85) > at > org.jaggeryjs.rhino.appmgt.jagg.c5._c_anonymous_1(/appmgt/jagg/jaggery_acs.jag:52) > at org.jaggeryjs.rhino.appmgt.jagg.c5.call(/appmgt/jagg/jaggery_acs.jag) > at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23) > at > org.jaggeryjs.rhino.appmgt.jagg.c5._c_script_0(/appmgt/jagg/jaggery_acs.jag:23) > at org.jaggeryjs.rhino.appmgt.jagg.c5.call(/appmgt/jagg/jaggery_acs.jag) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) > at org.jaggeryjs.rhino.appmgt.jagg.c5.call(/appmgt/jagg/jaggery_acs.jag) > at org.jaggeryjs.rhino.appmgt.jagg.c5.exec(/appmgt/jagg/jaggery_acs.jag) > at > org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567) > > > Any idea on resolving this ?? > -- > *Mahesh Chinthaka Vidanagama* | Software Engineer > WSO2, Inc | lean. enterprise. middleware. > #20, Palm Grove, Colombo 03, Sri Lanka > Mobile: +94 71 63 63 083 | Work: +94 112 145 345 > Email: [email protected] | Web: www.wso2.com > -- *Mahesh Chinthaka Vidanagama* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka Mobile: +94 71 63 63 083 | Work: +94 112 145 345 Email: [email protected] | Web: www.wso2.com
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
