Hi Vinod,

I tried changing handler name and getting the same error. It looks
something wrong with the jar file when I try the following command gives an
error as "Error: error reading
WSO2-REST-BasicAuth-Handler-1.0-SNAPSHOT.jar; error in opening zip file".
Let me compile the source and try.

javap -classpath WSO2-REST-BasicAuth-Handler-1.0-SNAPSHOT.jar
org.wso2.handler.SimpleOauthHandler

Thanks
Godwin

On Tue, Jan 16, 2018 at 11:35 AM, Vinod Kavinda <[email protected]> wrote:

> Hi Godwin,
> The jar in the given location has a different name than the doc. Please
> try using the handler name "*org.wso2.handler.SimpleOauthHandler". *Let's
> verify this. Then we need to correct the doc to align with the sample.
> Thanks for reporting.
>
> Regards,
> Vinod
>
> On Tue, Jan 16, 2018 at 7:56 AM, Godwin Shrimal <[email protected]> wrote:
>
>> Hi Devs,
>>
>> When we add the BasicAuth handler to API and save it gives following
>> error. (I followed the doc [1] and downloaded the jar file and put into
>> <EI_HOME>/lib)
>>
>> [2018-01-16 09:24:57,235] [EI-Core] ERROR - APIFactory Error initializing
>> API handler: org.wso2.rest.BasicAuthHandler
>> java.lang.ClassNotFoundException: org.wso2.rest.BasicAuthHandler cannot
>> be found by synapse-core_2.1.7.wso2v15
>>     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInter
>> nal(BundleLoader.java:501)
>>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund
>> leLoader.java:421)
>>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund
>> leLoader.java:412)
>>     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.
>> loadClass(DefaultClassLoader.java:107)
>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>     at org.apache.synapse.config.xml.rest.APIFactory.defineHandler(
>> APIFactory.java:161)
>>     at org.apache.synapse.config.xml.rest.APIFactory.createAPI(APIF
>> actory.java:103)
>>     at org.apache.synapse.config.xml.rest.APIFactory.createAPI(APIF
>> actory.java:53)
>>     at org.wso2.carbon.rest.api.service.RestApiAdmin.updateApiFromS
>> tring(RestApiAdmin.java:164)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:483)
>>     at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(
>> RPCUtil.java:212)
>>     at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusi
>> nessLogic(RPCMessageReceiver.java:117)
>>     at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invo
>> keBusinessLogic(AbstractInOutMessageReceiver.java:40)
>>     at org.apache.axis2.receivers.AbstractMessageReceiver.receive(A
>> bstractMessageReceiver.java:110)
>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>     at org.apache.axis2.transport.local.LocalTransportReceiver.proc
>> essMessage(LocalTransportReceiver.java:169)
>>     at org.apache.axis2.transport.local.LocalTransportReceiver.proc
>> essMessage(LocalTransportReceiver.java:82)
>>     at org.wso2.carbon.core.transports.local.CarbonLocalTransportSe
>> nder.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
>>     at org.apache.axis2.transport.local.LocalTransportSender.invoke
>> (LocalTransportSender.java:77)
>>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>     at org.apache.axis2.description.OutInAxisOperationClient.send(O
>> utInAxisOperation.java:430)
>>     at org.apache.axis2.description.OutInAxisOperationClient.execut
>> eImpl(OutInAxisOperation.java:225)
>>     at org.apache.axis2.client.OperationClient.execute(OperationCli
>> ent.java:149)
>>     at org.wso2.carbon.rest.api.stub.RestApiAdminStub.updateApiFrom
>> String(RestApiAdminStub.java:4280)
>>     at org.wso2.carbon.rest.api.ui.client.RestApiAdminClient.update
>> ApiFromString(RestApiAdminClient.java:226)
>>     at org.apache.jsp.api.savesource_002dajaxprocessor_jsp._jspServ
>> ice(savesource_002dajaxprocessor_jsp.java:177)
>>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.apache.jasper.servlet.JspServletWrapper.service(JspServl
>> etWrapper.java:439)
>>     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl
>> et.java:395)
>>     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
>>     at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.
>> java:80)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.se
>> rvice(ContextPathServletAdaptor.java:37)
>>     at org.eclipse.equinox.http.servlet.internal.ServletRegistratio
>> n.service(ServletRegistration.java:61)
>>     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce
>> ssAlias(ProxyServlet.java:128)
>>     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi
>> ce(ProxyServlet.java:68)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service
>> (DelegationServlet.java:68)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:303)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>> r.java:52)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilt
>> er.doFilter(URLBasedCachePreventionFilter.java:57)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter
>> .java:88)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter(CSR
>> FPreventionFilter.java:88)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter(CRL
>> FPreventionFilter.java:61)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilte
>> r(CharacterSetFilter.java:61)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilte
>> r(HttpHeaderSecurityFilter.java:124)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
>> dWrapperValve.java:219)
>>     at org.apache.catalina.core.StandardContextValve.invoke(Standar
>> dContextValve.java:110)
>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
>> uthenticatorBase.java:506)
>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
>> stValve.java:169)
>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
>> rtValve.java:103)
>>     at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInv
>> ocation(CompositeValve.java:99)
>>     at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke
>> (CarbonTomcatValve.java:47)
>>     at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tena
>> ntLazyLoaderValve.java:57)
>>     at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invok
>> eValves(TomcatValveContainer.java:47)
>>     at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Comp
>> ositeValve.java:62)
>>     at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetection
>> Valve.invoke(CarbonStuckThreadDetectionValve.java:159)
>>     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa
>> lve.java:962)
>>     at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.
>> invoke(CarbonContextCreatorValve.java:57)
>>     at org.apache.catalina.core.StandardEngineValve.invoke(Standard
>> EngineValve.java:116)
>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>> apter.java:445)
>>     at org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>> tractHttp11Processor.java:1115)
>>     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler
>> .process(AbstractProtocol.java:637)
>>     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
>> (NioEndpoint.java:1775)
>>     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(
>> NioEndpoint.java:1734)
>>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>> Executor.java:1142)
>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>> lExecutor.java:617)
>>     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.
>> run(TaskThread.java:61)
>>     at java.lang.Thread.run(Thread.java:745)
>> [2018-01-16 09:24:57,241] [EI-Core] ERROR - RPCMessageReceiver Error
>> initializing API handler: org.wso2.rest.BasicAuthHandler
>> java.lang.reflect.InvocationTargetException
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:483)
>>     at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(
>> RPCUtil.java:212)
>>     at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusi
>> nessLogic(RPCMessageReceiver.java:117)
>>     at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invo
>> keBusinessLogic(AbstractInOutMessageReceiver.java:40)
>>     at org.apache.axis2.receivers.AbstractMessageReceiver.receive(A
>> bstractMessageReceiver.java:110)
>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>     at org.apache.axis2.transport.local.LocalTransportReceiver.proc
>> essMessage(LocalTransportReceiver.java:169)
>>     at org.apache.axis2.transport.local.LocalTransportReceiver.proc
>> essMessage(LocalTransportReceiver.java:82)
>>     at org.wso2.carbon.core.transports.local.CarbonLocalTransportSe
>> nder.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
>>     at org.apache.axis2.transport.local.LocalTransportSender.invoke
>> (LocalTransportSender.java:77)
>>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>     at org.apache.axis2.description.OutInAxisOperationClient.send(O
>> utInAxisOperation.java:430)
>>     at org.apache.axis2.description.OutInAxisOperationClient.execut
>> eImpl(OutInAxisOperation.java:225)
>>     at org.apache.axis2.client.OperationClient.execute(OperationCli
>> ent.java:149)
>>     at org.wso2.carbon.rest.api.stub.RestApiAdminStub.updateApiFrom
>> String(RestApiAdminStub.java:4280)
>>     at org.wso2.carbon.rest.api.ui.client.RestApiAdminClient.update
>> ApiFromString(RestApiAdminClient.java:226)
>>     at org.apache.jsp.api.savesource_002dajaxprocessor_jsp._jspServ
>> ice(savesource_002dajaxprocessor_jsp.java:177)
>>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.apache.jasper.servlet.JspServletWrapper.service(JspServl
>> etWrapper.java:439)
>>     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl
>> et.java:395)
>>     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
>>     at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.
>> java:80)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.se
>> rvice(ContextPathServletAdaptor.java:37)
>>     at org.eclipse.equinox.http.servlet.internal.ServletRegistratio
>> n.service(ServletRegistration.java:61)
>>     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce
>> ssAlias(ProxyServlet.java:128)
>>     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi
>> ce(ProxyServlet.java:68)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>     at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service
>> (DelegationServlet.java:68)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:303)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>> r.java:52)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilt
>> er.doFilter(URLBasedCachePreventionFilter.java:57)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter
>> .java:88)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter(CSR
>> FPreventionFilter.java:88)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter(CRL
>> FPreventionFilter.java:61)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilte
>> r(CharacterSetFilter.java:61)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilte
>> r(HttpHeaderSecurityFilter.java:124)
>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>     at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
>> dWrapperValve.java:219)
>>     at org.apache.catalina.core.StandardContextValve.invoke(Standar
>> dContextValve.java:110)
>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
>> uthenticatorBase.java:506)
>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
>> stValve.java:169)
>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
>> rtValve.java:103)
>>     at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInv
>> ocation(CompositeValve.java:99)
>>     at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke
>> (CarbonTomcatValve.java:47)
>>     at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tena
>> ntLazyLoaderValve.java:57)
>>     at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invok
>> eValves(TomcatValveContainer.java:47)
>>     at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Comp
>> ositeValve.java:62)
>>     at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetection
>> Valve.invoke(CarbonStuckThreadDetectionValve.java:159)
>>     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa
>> lve.java:962)
>>     at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.
>> invoke(CarbonContextCreatorValve.java:57)
>>     at org.apache.catalina.core.StandardEngineValve.invoke(Standard
>> EngineValve.java:116)
>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>> apter.java:445)
>>     at org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>> tractHttp11Processor.java:1115)
>>     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler
>> .process(AbstractProtocol.java:637)
>>     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
>> (NioEndpoint.java:1775)
>>     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(
>> NioEndpoint.java:1734)
>>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>> Executor.java:1142)
>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>> lExecutor.java:617)
>>     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.
>> run(TaskThread.java:61)
>>     at java.lang.Thread.run(Thread.java:745)
>> Caused by: org.apache.synapse.SynapseException: Error initializing API
>> handler: org.wso2.rest.BasicAuthHandler
>>     at org.apache.synapse.config.xml.rest.APIFactory.handleExceptio
>> n(APIFactory.java:202)
>>     at org.apache.synapse.config.xml.rest.APIFactory.defineHandler(
>> APIFactory.java:191)
>>     at org.apache.synapse.config.xml.rest.APIFactory.createAPI(APIF
>> actory.java:103)
>>     at org.apache.synapse.config.xml.rest.APIFactory.createAPI(APIF
>> actory.java:53)
>>     at org.wso2.carbon.rest.api.service.RestApiAdmin.updateApiFromS
>> tring(RestApiAdmin.java:164)
>>     ... 81 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.wso2.rest.BasicAuthHandler cannot be found by synapse-core_2.1.7.wso2v15
>>     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInter
>> nal(BundleLoader.java:501)
>>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund
>> leLoader.java:421)
>>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund
>> leLoader.java:412)
>>     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.
>> loadClass(DefaultClassLoader.java:107)
>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>     at org.apache.synapse.config.xml.rest.APIFactory.defineHandler(
>> APIFactory.java:161)
>>     ... 84 more
>>
>> [1] https://docs.wso2.com/display/EI611/Securing+APIs
>>
>> Thanks
>> Godwin
>>
>> --
>> *Godwin Amila Shrimal*
>> Associate Technical Lead
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: *+94772264165*
>> linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/
>> <https://www.linkedin.com/in/godwin-amila-2ba26844/>*
>> twitter: https://twitter.com/godwinamila
>> <http://wso2.com/signature>
>>
>
>
>
> --
> Vinod Kavinda
> Senior Software Engineer
> *WSO2 Inc. - lean . enterprise . middleware <http://www.wso2.com>.*
> Mobile : +94 (0) 712 415544
> Blog : http://soatechflicks.blogspot.com/
> [image: http://wso2.com/signature]
> <http://wso2.com/signature>
>
>


-- 
*Godwin Amila Shrimal*
Associate Technical Lead
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: *+94772264165*
linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/
<https://www.linkedin.com/in/godwin-amila-2ba26844/>*
twitter: https://twitter.com/godwinamila
<http://wso2.com/signature>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to