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

Reply via email to