The service is listed in OSGI console. Where else can I check to see why the service is not found?
*M.N.F. Dilhasha* Software Engineering Intern | *WSO2 Lanka* email : *[email protected] <[email protected]>*mobile : +94 77 8449321 On Wed, Mar 18, 2015 at 2:37 PM, Danushka Fernando <[email protected]> wrote: > Null pointer is coming from Carbon Context. So seems somehow osgi service > is not found. > > Thanks & Regards > Danushka Fernando > Software Engineer > WSO2 inc. http://wso2.com/ > Mobile : +94716332729 > > On Wed, Mar 18, 2015 at 1:18 PM, Fathima Dilhasha <[email protected]> > wrote: > >> Hi, >> >> Yeah 'createProject' is a method I introduced. I've patched it to my >> AppFactory instance. >> Okay, I will debug backend code and see. >> >> Thanks. >> >> Regards, >> Dilhasha >> >> *M.N.F. Dilhasha* >> Software Engineering Intern | *WSO2 Lanka* >> >> email : >> *[email protected] <[email protected]>*mobile : +94 77 8449321 >> >> On Wed, Mar 18, 2015 at 1:04 PM, Mahesh Chinthaka <[email protected]> >> wrote: >> >>> Hi, >>> >>> Is this 'createProject' method implemented by you inside >>> IssueTrackerService ?? Because in my code I cannot see such a method in >>> IssueTrackerService. >>> You can debug the backend code to find out the place where NP occurs. >>> >>> >>> On Wed, Mar 18, 2015 at 11:40 AM, Fathima Dilhasha <[email protected]> >>> wrote: >>> >>>> Hi, >>>> >>>> I tried logging in between the steps. >>>> >>>> * tenantId and tenantDomain are not null >>>> * The null pointer exception takes place in the following line. >>>> >>>> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService').createProject(applicationName", >>>> issueTrackerConfig); >>>> >>>> Is it because the server cannot track the OSGI service I'm referring >>>> to? (The service is listed in the OSGI cosole) >>>> >>>> How can I figure it out? >>>> >>>> Thanks. >>>> Regards, >>>> Dilhasha >>>> >>>> *M.N.F. Dilhasha* >>>> Software Engineering Intern | *WSO2 Lanka* >>>> >>>> email : >>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>> >>>> On Wed, Mar 18, 2015 at 11:14 AM, Fathima Dilhasha <[email protected]> >>>> wrote: >>>> >>>>> Hi Mahesh, >>>>> >>>>> Thanks for the points. I'll work on those and see. >>>>> >>>>> Regards, >>>>> Dilhasha >>>>> >>>>> *M.N.F. Dilhasha* >>>>> Software Engineering Intern | *WSO2 Lanka* >>>>> >>>>> email : >>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>>> >>>>> On Wed, Mar 18, 2015 at 11:13 AM, Mahesh Chinthaka <[email protected]> >>>>> wrote: >>>>> >>>>>> Sorry I missed this, >>>>>> getting modManager varialbe , put this befor getting the tenant >>>>>> domain. >>>>>> var modManager = jagg.module("manager"); >>>>>> >>>>>> On Wed, Mar 18, 2015 at 11:11 AM, Mahesh Chinthaka <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> 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 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *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 >> >> >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
