Hi Anuruddha, I also figured that *IssueTrackerService *class does not extend *AbstractAdmin* unlike the* ApplicationManagementService *class. Can that be the issue?
Thanks. Regards, Dilhasha *M.N.F. Dilhasha* Software Engineering Intern | *WSO2 Lanka* email : *[email protected] <[email protected]>*mobile : +94 77 8449321 On Fri, Mar 20, 2015 at 10:04 AM, Fathima Dilhasha <[email protected]> wrote: > I compared services.xml files, > > And the only difference in *ApplicationManagementService* is the > following part. > > <parameter name="AuthorizationAction" > locked="false">/permission/admin/appfactory/application/create > </parameter> > <operation name="publishApplicationVersionCreation"> > <parameter name="AuthorizationAction" > locked="true">/permission/admin/appfactory/repository/branch > </parameter> > </operation> > > ..................................................................................................... > > > *M.N.F. Dilhasha* > Software Engineering Intern | *WSO2 Lanka* > > email : > *[email protected] <[email protected]>*mobile : +94 77 8449321 > > On Fri, Mar 20, 2015 at 10:00 AM, Fathima Dilhasha <[email protected]> > wrote: > >> Folowing is the code snippet in saveConfig.jag which I've used to access >> the OSGI service, >> >> try { >> >> context.startTenantFlow(); >> context.getThreadLocalCarbonContext().setTenantId(tenantId); >> log.info('setting tennant id successful'); >> >> context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, >> true); >> log.info('setting tennant domain successful'); >> log.info('server ' + server); >> var service = >> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService'); >> >> log.info('service is called successfully'); >> >> service.createProject("applicationName", issueTrackerConfig); >> >> } catch (e) { >> log.error(e); >> } finally { >> context.endTenantFlow(); >> } >> >> >> In above code if I replace >> org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService >> >> with >> *org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService,* >> >> I get no errors and it works fine. >> >> >> *M.N.F. Dilhasha* >> Software Engineering Intern | *WSO2 Lanka* >> >> email : >> *[email protected] <[email protected]>*mobile : +94 77 8449321 >> >> On Fri, Mar 20, 2015 at 9:53 AM, Anuruddha Premalal <[email protected]> >> wrote: >> >>> Hi Fathima, >>> >>> Could you provide the code snippets, which you used to access the OSGI >>> service?. >>> You could also refer to modules/manager/manager.jag to verify your >>> method. >>> >>> Can you also check the service.xml file of the issuetracking service to >>> see whether the methods are exposed with correct privileges. You could use >>> application management service.xml as a reference. >>> >>> Regards, >>> >>> On Fri, Mar 20, 2015 at 9:40 AM, Fathima Dilhasha <[email protected]> >>> wrote: >>> >>>> Hi, >>>> >>>> Sorry about the previous email. After some time, >>>> *org.wso2.carbon.appfactory.issuetracking* component is in >>>> ''satisfied' state as follows. >>>> >>>> *osgi> comp 27 * >>>> * Component[* >>>> * name = org.wso2.carbon.issutracker* >>>> * factory = null* >>>> * autoenable = true* >>>> * immediate = true* >>>> * implementation = >>>> org.wso2.carbon.appfactory.issuetracking.internal.IssueTrackerServiceComponent* >>>> * state = Unsatisfied* >>>> * properties = {service.pid=org.wso2.carbon.issutracker}* >>>> * serviceFactory = false* >>>> * serviceInterface = null* >>>> * references = {* >>>> * Reference[name = appfactory.configuration, interface = >>>> org.wso2.carbon.appfactory.common.AppFactoryConfiguration, policy = >>>> dynamic, cardinality = 1..1, target = null, bind = >>>> setAppFactoryConfiguration, unbind = unsetAppFactoryConfiguration]* >>>> * Reference[name = appfactory.application.mgt.service, interface = >>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService, >>>> policy = dynamic, cardinality = 1..1, target = null, bind = >>>> setApplicationManagementService, unbind = >>>> unsetApplicationManagementService]* >>>> * }* >>>> * located in bundle = >>>> org.wso2.carbon.appfactory.issuetracking_2.1.0.SNAPSHOT [194]* >>>> *]* >>>> *Dynamic information :* >>>> * The component is satisfied* >>>> * All component references are satisfied* >>>> * Component configurations :* >>>> * Configuration properties:* >>>> * service.pid = org.wso2.carbon.issutracker* >>>> * component.name <http://component.name> = >>>> org.wso2.carbon.issutracker* >>>> * component.id <http://component.id> = 26* >>>> * Instances:* >>>> * >>>> org.eclipse.equinox.internal.ds.impl.ComponentInstanceImpl@31be9a70* >>>> * Bound References:* >>>> * >>>> String[org.wso2.carbon.appfactory.common.AppFactoryConfiguration]* >>>> * -> >>>> org.wso2.carbon.appfactory.common.AppFactoryConfiguration@588d4893* >>>> * >>>> String[org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService]* >>>> * -> >>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService@2397d850* >>>> >>>> >>>> Now, what could be the reason for the above null pointer exception? >>>> >>>> Thanks. >>>> >>>> Regards, >>>> Dilhasha >>>> >>>> *M.N.F. Dilhasha* >>>> Software Engineering Intern | *WSO2 Lanka* >>>> >>>> email : >>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>> >>>> On Fri, Mar 20, 2015 at 9:32 AM, Fathima Dilhasha <[email protected]> >>>> wrote: >>>> >>>>> Hi, >>>>> I tried listing the osgi services and I found issue tracker service in >>>>> 'UNSATISFIED' state. >>>>> >>>>> These are the details for *org.wso2.carbon.appfactory.issuetracking* >>>>> component. >>>>> >>>>> *osgi> comp 27* >>>>> * Component[* >>>>> * name = org.wso2.carbon.issutracker* >>>>> * factory = null* >>>>> * autoenable = true* >>>>> * immediate = true* >>>>> * implementation = >>>>> org.wso2.carbon.appfactory.issuetracking.internal.IssueTrackerServiceComponent* >>>>> * state = Unsatisfied* >>>>> * properties = {service.pid=org.wso2.carbon.issutracker}* >>>>> * serviceFactory = false* >>>>> * serviceInterface = null* >>>>> * references = {* >>>>> * Reference[name = appfactory.configuration, interface = >>>>> org.wso2.carbon.appfactory.common.AppFactoryConfiguration, policy = >>>>> dynamic, cardinality = 1..1, target = null, bind = >>>>> setAppFactoryConfiguration, unbind = unsetAppFactoryConfiguration]* >>>>> * Reference[name = appfactory.application.mgt.service, interface = >>>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService, >>>>> policy = dynamic, cardinality = 1..1, target = null, bind = >>>>> setApplicationManagementService, unbind = >>>>> unsetApplicationManagementService]* >>>>> * }* >>>>> * located in bundle = >>>>> org.wso2.carbon.appfactory.issuetracking_2.1.0.SNAPSHOT [194]* >>>>> *]* >>>>> *Dynamic information :* >>>>> * *The component is NOT satisfied* >>>>> * The following references are not satisfied:* >>>>> * Reference[name = appfactory.application.mgt.service, interface = >>>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService, >>>>> policy = dynamic, cardinality = 1..1, target = null, bind = >>>>> setApplicationManagementService, unbind = >>>>> unsetApplicationManagementService]* >>>>> * Component configurations :* >>>>> * Configuration properties:* >>>>> * service.pid = org.wso2.carbon.issutracker* >>>>> * component.name <http://component.name> = >>>>> org.wso2.carbon.issutracker* >>>>> * component.id <http://component.id> = 26* >>>>> * Instances:* >>>>> >>>>> >>>>> >>>>> *M.N.F. Dilhasha* >>>>> Software Engineering Intern | *WSO2 Lanka* >>>>> >>>>> email : >>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>>> >>>>> On Fri, Mar 20, 2015 at 8:43 AM, Fathima Dilhasha <[email protected]> >>>>> wrote: >>>>> >>>>>> Thank you. >>>>>> >>>>>> That's correct, I used list admin services to see the services. I'll >>>>>> debug more and see. >>>>>> >>>>>> Thanks. >>>>>> >>>>>> Regards, >>>>>> Dilhasha >>>>>> >>>>>> *M.N.F. Dilhasha* >>>>>> Software Engineering Intern | *WSO2 Lanka* >>>>>> >>>>>> email : >>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>>>> >>>>>> On Fri, Mar 20, 2015 at 7:46 AM, Danushka Fernando < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> It needs to be an osgi service to do that. Probably you have used >>>>>>> list admin services command to check in osgi console. That will list web >>>>>>> services not osgi services. Same as wsdl. >>>>>>> >>>>>>> Thanks & Regards >>>>>>> Danushka Fernando >>>>>>> Software Engineer >>>>>>> WSO2 inc. http://wso2.com/ >>>>>>> Mobile : +94716332729 >>>>>>> >>>>>>> >>>>>>> On Mar 20, 2015 7:33 AM, "Fathima Dilhasha" <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I am trying to access the IssueTrackerService from a module in >>>>>>>> appmgt. This gives a null pointer exception as follows. >>>>>>>> >>>>>>>> *TID: [0] [AF] [2015-03-20 01:27:36,329] 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.c1._c_anonymous_1(/appmgt/modules/issuetracker/get/saveConfig.jag:56)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c1.call(/appmgt/modules/issuetracker/get/saveConfig.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.issuetracker.c0._c_anonymous_4(/appmgt/modules/issuetracker/module.jag:32)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.c0.call(/appmgt/modules/issuetracker/module.jag)* >>>>>>>> * at >>>>>>>> org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:85)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1._c_anonymous_1(/appmgt/site/blocks/issuetracker/list/ajax/save.jag:10)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.call(/appmgt/site/blocks/issuetracker/list/ajax/save.jag)* >>>>>>>> * at >>>>>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1._c_script_0(/appmgt/site/blocks/issuetracker/list/ajax/save.jag:6)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.call(/appmgt/site/blocks/issuetracker/list/ajax/save.jag)* >>>>>>>> * at >>>>>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)* >>>>>>>> * at >>>>>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.call(/appmgt/site/blocks/issuetracker/list/ajax/save.jag)* >>>>>>>> * at >>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.exec(/appmgt/site/blocks/issuetracker/list/ajax/save.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)* >>>>>>>> * ... 59 more* >>>>>>>> * {module/issuetracker/saveConfig.jag}* >>>>>>>> >>>>>>>> >>>>>>>> But when I try to access another service (e.g. >>>>>>>> ApplicationManagementService) , no exception occurs and code works >>>>>>>> fine. >>>>>>>> >>>>>>>> Regarding IssueTrackerService, >>>>>>>> >>>>>>>> >>>>>>>> - It is listed in the osgi console. >>>>>>>> - I can access the wsdl for the service at specified url >>>>>>>> - I don't see any usage of the IssueTrackerService >>>>>>>> >>>>>>>> >>>>>>>> What can be the issue with this service? >>>>>>>> Any help is appreciated. >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> Regards, >>>>>>>> Dilhasha >>>>>>>> >>>>>>>> >>>>>>>> *M.N.F. Dilhasha* >>>>>>>> Software Engineering Intern | *WSO2 Lanka* >>>>>>>> >>>>>>>> email : >>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321 >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >>> -- >>> *Anuruddha Premalal* >>> Software Eng. | WSO2 Inc. >>> Mobile : +94710461070 >>> Web site : www.regilandvalley.com >>> >>> >> >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
