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

Reply via email to