Hi Rajkumar,

On Wed, Jan 11, 2017 at 11:08 PM, Rajkumar Rajaratnam <[email protected]>
wrote:

> IDP initiated SSO for Store is also not working. Should be the same case
> with Publisher. Reason for this issue is as below.
>
> For SP initiated SSO, we read SSO properties from site.json and set them
> to SSO relaying party object in sso/filter [1].
>
> For IDP initiated SSO, the same thing should be done in jaggery_acs.jag.
> Why?, because the very first request to API Store will land on
> jaggery_acs.jag and since SSO properties are not there in SSO relaying
> party object, you will get NPE like below.
>  ​
>


Why should someone allowed  to hit SP, if IDP initiated SSO configured? I
do understand the annonymous access API Manager should allowed for API
Srore, but, when someone requested to login, don't we redirect to IDP login?


>
>
> [2017-01-11 12:34:07,151] ERROR - Util Error when getting key store of
> tenant carbon.super
> java.lang.NullPointerException
> at java.io.File.<init>(File.java:277)
> at org.wso2.carbon.hostobjects.sso.internal.util.Util.
> validateSignature(Util.java:281)
> at org.wso2.carbon.hostobjects.sso.SAMLSSORelyingPartyObject.
> jsFunction_validateSignature(SAMLSSORelyingPartyObject.java:168)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
> at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
> at org.jaggeryjs.rhino.store.jagg.c0._c_anonymous_1(/store/
> jagg/jaggery_acs.jag:70)
> at org.jaggeryjs.rhino.store.jagg.c0.call(/store/jagg/jaggery_acs.jag)
> at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
> at org.jaggeryjs.rhino.store.jagg.c0._c_script_0(/store/
> jagg/jaggery_acs.jag:5)
> at org.jaggeryjs.rhino.store.jagg.c0.call(/store/jagg/jaggery_acs.jag)
> at org.mozilla.javascript.ContextFactory.doTopCall(
> ContextFactory.java:394)
> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
> at org.jaggeryjs.rhino.store.jagg.c0.call(/store/jagg/jaggery_acs.jag)
> at org.jaggeryjs.rhino.store.jagg.c0.exec(/store/jagg/jaggery_acs.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.exec(
> WebAppManager.java:588)
> at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(
> WebAppManager.java:508)
> at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(
> JaggeryServlet.java:29)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:303)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(
> ApplicationDispatcher.java:747)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(
> ApplicationDispatcher.java:485)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(
> ApplicationDispatcher.java:377)
> at org.apache.catalina.core.ApplicationDispatcher.forward(
> ApplicationDispatcher.java:337)
> at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(
> JaggeryFilter.java:21)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:241)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventio
> nFilter.doFilter(ContentTypeBasedCachePreventionFilter.java:53)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:241)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(
> HttpHeaderSecurityFilter.java:120)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:241)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:218)
> at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:122)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:505)
> at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:169)
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:103)
> at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(
> CompositeValve.java:99)
> at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.
> invoke(CarbonTomcatValve.java:47)
> at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(
> TenantLazyLoaderValve.java:57)
> at org.wso2.carbon.event.receiver.core.internal.tenantmgt.
> TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:48)
> at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(
> TomcatValveContainer.java:47)
> at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(
> CompositeValve.java:62)
> at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValv
> e.invoke(CarbonStuckThreadDetectionValve.java:159)
> at org.apache.catalina.valves.AccessLogValve.invoke(
> AccessLogValve.java:958)
> at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(
> CarbonContextCreatorValve.java:57)
> at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:116)
> at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:452)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(
> AbstractHttp11Processor.java:1087)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
> process(AbstractProtocol.java:637)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1756)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> run(NioEndpoint.java:1715)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
> [2017-01-11 12:34:07,159] ERROR - WebAppManager 
> org.mozilla.javascript.WrappedException:
> Wrapped org.wso2.carbon.hostobjects.sso.SignatureVerificationException
> (/store/jagg/jaggery_acs.jag#70)
> org.jaggeryjs.scriptengine.exceptions.ScriptException:
> org.mozilla.javascript.WrappedException: Wrapped
> org.wso2.carbon.hostobjects.sso.SignatureVerificationException
> (/store/jagg/jaggery_acs.jag#70)
> at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(
> RhinoEngine.java:571)
> at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(
> RhinoEngine.java:273)
> at org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(
> WebAppManager.java:588)
> at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(
> WebAppManager.java:508)
> at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(
> JaggeryServlet.java:29)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:303)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(
> ApplicationDispatcher.java:747)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(
> ApplicationDispatcher.java:485)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(
> ApplicationDispatcher.java:377)
> at org.apache.catalina.core.ApplicationDispatcher.forward(
> ApplicationDispatcher.java:337)
> at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(
> JaggeryFilter.java:21)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:241)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventio
> nFilter.doFilter(ContentTypeBasedCachePreventionFilter.java:53)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:241)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(
> HttpHeaderSecurityFilter.java:120)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:241)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
> at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:218)
> at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:122)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:505)
> at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:169)
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:103)
> at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(
> CompositeValve.java:99)
> at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.
> invoke(CarbonTomcatValve.java:47)
> at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(
> TenantLazyLoaderValve.java:57)
> at org.wso2.carbon.event.receiver.core.internal.tenantmgt.
> TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:48)
> at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(
> TomcatValveContainer.java:47)
> at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(
> CompositeValve.java:62)
> at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValv
> e.invoke(CarbonStuckThreadDetectionValve.java:159)
> at org.apache.catalina.valves.AccessLogValve.invoke(
> AccessLogValve.java:958)
> at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(
> CarbonContextCreatorValve.java:57)
> at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:116)
> at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:452)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(
> AbstractHttp11Processor.java:1087)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
> process(AbstractProtocol.java:637)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1756)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> run(NioEndpoint.java:1715)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.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.mozilla.javascript.WrappedException: Wrapped
> org.wso2.carbon.hostobjects.sso.SignatureVerificationException
> (/store/jagg/jaggery_acs.jag#70)
> at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(
> Context.java:1754)
> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
> at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
> at org.jaggeryjs.rhino.store.jagg.c0._c_anonymous_1(/store/
> jagg/jaggery_acs.jag:70)
> at org.jaggeryjs.rhino.store.jagg.c0.call(/store/jagg/jaggery_acs.jag)
> at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
> at org.jaggeryjs.rhino.store.jagg.c0._c_script_0(/store/
> jagg/jaggery_acs.jag:5)
> at org.jaggeryjs.rhino.store.jagg.c0.call(/store/jagg/jaggery_acs.jag)
> at org.mozilla.javascript.ContextFactory.doTopCall(
> ContextFactory.java:394)
> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
> at org.jaggeryjs.rhino.store.jagg.c0.call(/store/jagg/jaggery_acs.jag)
> at org.jaggeryjs.rhino.store.jagg.c0.exec(/store/jagg/jaggery_acs.jag)
> at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(
> RhinoEngine.java:567)
> ... 45 more
> Caused by: org.wso2.carbon.hostobjects.sso.SignatureVerificationException
> at org.wso2.carbon.hostobjects.sso.internal.util.Util.
> validateSignature(Util.java:332)
> at org.wso2.carbon.hostobjects.sso.SAMLSSORelyingPartyObject.
> jsFunction_validateSignature(SAMLSSORelyingPartyObject.java:168)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
> ... 57 more
> Caused by: java.lang.NullPointerException
> at java.io.File.<init>(File.java:277)
> at org.wso2.carbon.hostobjects.sso.internal.util.Util.
> validateSignature(Util.java:281)
>
>
> [1] https://github.com/wso2/carbon-apimgt/blob/master/featur
> es/apimgt/org.wso2.carbon.apimgt.store.feature/src/main/
> resources/store/site/themes/wso2/templates/sso/filter/template.jag
>
>
> Fix with RC3 please.
>
> Thanks,
> Raj.
>
> On Wed, Jan 11, 2017 at 8:10 AM, Malintha Amarasinghe <[email protected]>
> wrote:
>
>> Hi all,
>>
>> We are calling off the vote due to the problems found in stat graphs. We
>> will do a RC3 soon.
>>
>> Thanks!
>> Malintha
>>
>> On Wed, Jan 11, 2017 at 12:01 PM, Abimaran Kugathasan <[email protected]>
>> wrote:
>>
>>> Tested Endpoints, Throttling and general API invocations scenarios
>>>
>>> [+] Stable - go ahead and release
>>>
>>> On Wed, Jan 11, 2017 at 11:20 AM, Praminda Jayawardana <
>>> [email protected]> wrote:
>>>
>>>> Tested client SDK generation for super tenant, non admin, tenant and
>>>> self signup users.
>>>>
>>>> [+] Stable - go ahead and release
>>>>
>>>> On Wed, Jan 11, 2017 at 10:56 AM, Arshardh Ifthikar <[email protected]>
>>>> wrote:
>>>>
>>>>> Tested the Websocket API feature
>>>>>
>>>>> [+] Stable - go ahead and release
>>>>>
>>>>> On Wed, Jan 11, 2017 at 10:52 AM, Tharindu Dharmarathna <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Tested the Blocking condition and Advance throtting feature
>>>>>>
>>>>>> [+] Stable - go ahead and release
>>>>>>
>>>>>>
>>>>>> On Wed, Jan 11, 2017 at 10:50 AM, Chamila Adhikarinayake <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Tested workflows for API lifecycle state change feature.
>>>>>>>
>>>>>>> [+] Stable - go ahead and release
>>>>>>>
>>>>>>> On Tue, Jan 10, 2017 at 4:35 PM, Malintha Amarasinghe <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> This is the 2nd Release Candidate of WSO2 API Manager 2.1.0
>>>>>>>>
>>>>>>>> Please download, test the product and vote. The vote will be open
>>>>>>>> for 72 hours or as needed.
>>>>>>>>
>>>>>>>> Source and distribution
>>>>>>>>
>>>>>>>>     Run-time : https://github.com/wso2/prod
>>>>>>>> uct-apim/releases/download/v2.1.0-rc2/wso2am-2.1.0-RC2.zip
>>>>>>>>     Analytics : https://github.com/wso2/anal
>>>>>>>> ytics-apim/releases/download/v2.1.0-rc2/wso2am-analytics-2.1
>>>>>>>> .0-RC2.zip
>>>>>>>>     Tooling : https://github.com/wso2/devs
>>>>>>>> tudio-tooling-apim/releases/tag/v2.1.0-rc2
>>>>>>>>
>>>>>>>>
>>>>>>>> This release fixes the following issues:
>>>>>>>>     Runtime : https://wso2.org/jira/issues/?filter=13623
>>>>>>>>     Analytics : https://wso2.org/jira/issues/?filter=13624
>>>>>>>>     Tooling : https://wso2.org/jira/browse/DEVTOOLAPI-1
>>>>>>>>
>>>>>>>>
>>>>>>>> Please vote as follows.
>>>>>>>>     [+] Stable - go ahead and release
>>>>>>>>     [-] Broken - do not release (explain why)
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> - WSO2 API Manager Team -
>>>>>>>>
>>>>>>>> --
>>>>>>>> Malintha Amarasinghe
>>>>>>>> Software Engineer
>>>>>>>> *WSO2, Inc. - lean | enterprise | middleware*
>>>>>>>> http://wso2.com/
>>>>>>>>
>>>>>>>> Mobile : +94 712383306 <+94%2071%20238%203306>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Architecture mailing list
>>>>>>>> [email protected]
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Regards,
>>>>>>> Chamila Adhikarinayake
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.
>>>>>>> Mobile - +94712346437 <+94%2071%20234%206437>
>>>>>>> Email  - [email protected]
>>>>>>> Blog  -  http://helpfromadhi.blogspot.com/
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Architecture mailing list
>>>>>>> [email protected]
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> *Tharindu Dharmarathna*Software Engineer
>>>>>> WSO2 Inc.; http://wso2.com
>>>>>> lean.enterprise.middleware
>>>>>>
>>>>>> mobile: *+94779109091 <+94%2077%20910%209091>*
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Arshardh Ifthikar*
>>>>> Trainee Software Engineer
>>>>> WSO2, Inc.
>>>>> Mobile: +94719806525 <+94%2071%20980%206525>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Praminda Jayawardana*
>>>> Software Engineer
>>>> WSO2 Inc.; http://wso2.com
>>>> Mobile : +94 (0) 716 590918 <+94%2071%20659%200918>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks
>>> Abimaran Kugathasan
>>> Senior Software Engineer - API Technologies
>>>
>>> Email : [email protected]
>>> Mobile : +94 773922820 <+94%2077%20392%202820>
>>>
>>> <http://stackoverflow.com/users/515034>
>>> <http://lk.linkedin.com/in/abimaran>
>>> <http://www.lkabimaran.blogspot.com/>  <https://github.com/abimarank>
>>> <https://twitter.com/abimaran>
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Malintha Amarasinghe
>> Software Engineer
>> *WSO2, Inc. - lean | enterprise | middleware*
>> http://wso2.com/
>>
>> Mobile : +94 712383306 <+94%2071%20238%203306>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Rajkumar Rajaratnam
> Committer & PMC Member, Apache Stratos
> Senior Software Engineer, WSO2
>
> LinkedIn : https://lk.linkedin.com/in/rajuu
> Mobile : +94777568639 <+94%2077%20756%208639>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Thanks
Abimaran Kugathasan
Senior Software Engineer - API Technologies

Email : [email protected]
Mobile : +94 773922820

<http://stackoverflow.com/users/515034>
<http://lk.linkedin.com/in/abimaran>  <http://www.lkabimaran.blogspot.com/>
<https://github.com/abimarank>  <https://twitter.com/abimaran>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to