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

Reply via email to