Hi Dilhasha, I think you havent got the tenant domain properly. you may use following to get tenant domain. var tenantDomain = modManager.getTenantDomain();
you may use following to set tenant domain n id context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain,true); in between the steps you can put info logs to see values, in that way you may be able to see whats null here. On Wed, Mar 18, 2015 at 10:59 AM, Danushka Fernando <[email protected]> wrote: > Few points > > 1. Did you check whether your osgi bundle is activated or not? May be > that's the issue. Seems it cannot find the osgi service. > 2. When start tenant flow in setTenantDomain method there is a another > signature which will take in tenantDomain (String) and resolveTenantID > (boolean) parameters. You can use that instead of setting tenantID > manually. > 3. The way you have included the module, AFAIR that's not the way to > refer to a module. Refer to other places that we have done such a thing. > > > Thanks & Regards > Danushka Fernando > Software Engineer > WSO2 inc. http://wso2.com/ > Mobile : +94716332729 > > On Wed, Mar 18, 2015 at 10:45 AM, Fathima Dilhasha <[email protected]> > wrote: > >> Hi Mahesh, >> >> Thanks for the response. >> >> Following is the code in saveConfig.jag >> >> include("/jagg/jagg.jag"); >> include("/jagg/constants.jag"); >> include("/jagg/config_reader.jag"); >> include("/modules/manager/manager.jag"); >> >> (function () { >> >> var carbon = require('carbon'); >> var log = new Log("module/issuetracker/saveConfig.jag"); >> var multitenancy = carbon.multitenancy; >> var server = carbon.server; >> >> >> >> var context=multitenancy.getPrivilegedCarbonContext(); >> var tenantDomain = getTenantDomain(); >> var tenantId=getTenantId(); >> >> var issueTrackerConfig = >> Packages.org.wso2.carbon.appfactory.issuetracking.beans.IssueTrackerConfigurations; >> var issueConfig=new issueTrackerConfig(); >> issueConfig.setIssueTrackerinstanceUrl("some url"); >> >> try{ >> >> context.startTenantFlow(); >> context.getThreadLocalCarbonContext().setTenantId(tenantId); >> context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain); >> >> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService').createProject("applicationName", >> issueTrackerConfig); >> }catch(e){ >> log.error(e); >> }finally{ >> context.endTenantFlow(); >> } >> >> >> >> >> }()); >> >> >> >> The getTenantDomain,getTenantId functions are in a different jag file, >> which I have included (manager.jag). >> >> >> >> *M.N.F. Dilhasha* >> Software Engineering Intern | *WSO2 Lanka* >> >> email : >> *[email protected] <[email protected]>*mobile : +94 77 8449321 >> >> On Wed, Mar 18, 2015 at 10:35 AM, Mahesh Chinthaka <[email protected]> >> wrote: >> >>> Hi Dilhasha, >>> >>> This could be either not setting tenant domain/ id properly or, >>> issueTrackerConfig parameter might be null at that moment. can you share >>> the code segment of whole function please. So we can see the reason for NPE. >>> >>> On Wed, Mar 18, 2015 at 10:27 AM, Fathima Dilhasha <[email protected]> >>> wrote: >>> >>>> Hi, >>>> >>>> I'm trying to access an osgi service available in WSO2 Appfactory, from >>>> the 'appmgt' jaggery app. In this process I get the following exception in >>>> the server. >>>> >>>> *TID: [0] [AF] [2015-03-18 04:44:00,643] ERROR >>>> {module/issuetracker/saveConfig.jag} - >>>> org.mozilla.javascript.WrappedException: Wrapped >>>> java.lang.NullPointerException (osgi#8)* >>>> * at >>>> org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)* >>>> * at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)* >>>> * at >>>> org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)* >>>> * at >>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)* >>>> * at org.mozilla.javascript.gen.osgi_11._c_anonymous_2(osgi:8)* >>>> * at org.mozilla.javascript.gen.osgi_11.call(osgi)* >>>> * at >>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)* >>>> * at >>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0._c_anonymous_1(/appmgt/modules/issuetracker/get/saveConfig.jag:49)* >>>> * at >>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.call(/appmgt/modules/issuetracker/get/saveConfig.jag)* >>>> * at >>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)* >>>> * at >>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0._c_script_0(/appmgt/modules/issuetracker/get/saveConfig.jag:26)* >>>> * at >>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.call(/appmgt/modules/issuetracker/get/saveConfig.jag)* >>>> * at >>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)* >>>> * at >>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)* >>>> * at >>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.call(/appmgt/modules/issuetracker/get/saveConfig.jag)* >>>> * at >>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.exec(/appmgt/modules/issuetracker/get/saveConfig.jag)* >>>> * at >>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)* >>>> * 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.doGet(JaggeryServlet.java:24)* >>>> * at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)* >>>> * 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: java.lang.NullPointerException* >>>> * at >>>> org.wso2.carbon.context.PrivilegedCarbonContext.getOSGiService(PrivilegedCarbonContext.java:448)* >>>> * at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)* >>>> * at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)* >>>> * at java.lang.reflect.Method.invoke(Method.java:606)* >>>> * at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)* >>>> * ... 50 more* >>>> * {module/issuetracker/saveConfig.jag}* >>>> >>>> >>>> Following is the code segment in saveConfig.jag, which is responsible >>>> for calling the osgi service. >>>> >>>> try{ >>>> >>>> context.startTenantFlow(); >>>> context.getThreadLocalCarbonContext().setTenantId(tenantId); >>>> context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain); >>>> >>>> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService').createProject("applicationName", >>>> issueTrackerConfig); >>>> }catch(e){ >>>> log.error(e); >>>> }finally{ >>>> context.endTenantFlow(); >>>> } >>>> >>>> >>>> It would be really helpful, if someone can help me to overcome this >>>> problem. >>>> >>>> Thanks. >>>> Regards, >>>> Dilhasha >>>> >>>> >>>> *M.N.F. Dilhasha* >>>> Software Engineering Intern | *WSO2 Lanka* >>>> >>>> email : >>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *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 >> >> > -- *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
