Hi,

Thanks Pubudu.
There was a missing OSGI bundle registration for Issue Tracking component.
I was able to fix the issue by fixing that.

Regards,
Dilhasha



Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
(M.N.F.Dilhasha)
Undergraduate | Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka

On Mon, Mar 23, 2015 at 4:50 PM, Pubudu Dodangoda <[email protected]> wrote:

> I think you should also be able to find the wsdl for the service by giving
> the url shown at the OSGI console
> Please refer the following link on how to view the wsdl for the
> service(under the "Writing the service stub" section)
>
>
> http://wso2.com/library/tutorials/2014/03/how-to-write-a-wso2-carbon-component/
>
> On Wed, Mar 18, 2015 at 2:46 PM, Fathima Dilhasha <[email protected]>
> wrote:
>
>> 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
>>
>>
>
>
> --
> Pubudu Dodangoda
> BSc Engineering(Hon's) Undergraduate
> Department of Computer Science Engineering
> University of Moratuwa
> 0716053681 / 0775192994
>
> _______________________________________________
> 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