Yes it works for super tenant mode

On Tue, Oct 20, 2015 at 2:32 PM, Gayan Gunawardana <ga...@wso2.com> wrote:

>
>
> On Tue, Oct 20, 2015 at 2:21 PM, Nadeesha Meegoda <nadees...@wso2.com>
> wrote:
>
>> Hi all,
>>
>> I have done the same setup in tenant mode  (IDP and travelocity SP are in
>> tenant mode)
>>
>
> Could you be able to resolve the issue in super tenant mode ?
>
>> and enabled assertion encryption. The SP created for the IDP is in super
>> tenant mode that is the 2nd IS. Now I am getting error in IS side. I have
>> exported the external IS private key and imported it to IDP. Any reason
>> behind this exception that I have missed doing? (Testing in the
>> wso2is-5.1.0-kernel-4.2.0-SNAPSHOT given on 14th Oct)
>>
>> Note - I can successfully log in when assertion encryption is disabled.
>>
>>
>> [1] -
>> https://docs.wso2.com/pages/viewpage.action?title=Login%2Bto%2Bthe%2BIdentity%2BServer%2BUsing%2BAnother%2BIdentity%2BServer&spaceKey=IS510
>>
>> [2015-10-20 13:50:00,139] ERROR {org.opensaml.xml.encryption.Decrypter}
>> -  Failed to decrypt EncryptedKey, valid decryption key could not be
>> resolved
>> [2015-10-20 13:50:00,140] ERROR
>> {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler}
>> -  Unable to decrypt the SAML Assertion
>> org.wso2.carbon.identity.application.authentication.framework.exception.AuthenticationFailedException:
>> Unable to decrypt the SAML Assertion
>>         at
>> org.wso2.carbon.identity.application.authenticator.samlsso.SAMLSSOAuthenticator.processAuthenticationResponse(SAMLSSOAuthenticator.java:202)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.AbstractApplicationAuthenticator.process(AbstractApplicationAuthenticator.java:65)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.doAuthentication(DefaultStepHandler.java:426)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handleResponse(DefaultStepHandler.java:400)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handle(DefaultStepHandler.java:114)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler.handle(DefaultStepBasedSequenceHandler.java:171)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultAuthenticationRequestHandler.handle(DefaultAuthenticationRequestHandler.java:111)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator.handle(DefaultRequestCoordinator.java:119)
>>         at
>> org.wso2.carbon.identity.application.authentication.framework.servlet.CommonAuthenticationServlet.doPost(CommonAuthenticationServlet.java:53)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>         at
>> org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
>>         at
>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
>>         at
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
>>         at
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>         at
>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>         at
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>         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.CSRFPreventionFilter.doFilter(CSRFPreventionFilter.java:88)
>>         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.CRLFPreventionFilter.doFilter(CRLFPreventionFilter.java:59)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>         at
>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
>>         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:220)
>>         at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>>         at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
>>         at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>>         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.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.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
>>         at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>>         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:421)
>>         at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
>>         at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>>         at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
>>         at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>         at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by:
>> org.wso2.carbon.identity.application.authenticator.samlsso.exception.SAMLSSOException:
>> Unable to decrypt the SAML Assertion
>>         at
>> org.wso2.carbon.identity.application.authenticator.samlsso.manager.DefaultSAML2SSOManager.processSSOResponse(DefaultSAML2SSOManager.java:431)
>>         at
>> org.wso2.carbon.identity.application.authenticator.samlsso.manager.DefaultSAML2SSOManager.processResponse(DefaultSAML2SSOManager.java:312)
>>         at
>> org.wso2.carbon.identity.application.authenticator.samlsso.SAMLSSOAuthenticator.processAuthenticationResponse(SAMLSSOAuthenticator.java:157)
>>         ... 53 more
>> Caused by: org.opensaml.xml.encryption.DecryptionException: Valid
>> decryption key for EncryptedKey could not be resolved
>>         at
>> org.opensaml.xml.encryption.Decrypter.decryptKey(Decrypter.java:623)
>>         at
>> org.wso2.carbon.identity.application.authenticator.samlsso.manager.DefaultSAML2SSOManager.getDecryptedAssertion(DefaultSAML2SSOManager.java:897)
>>         at
>> org.wso2.carbon.identity.application.authenticator.samlsso.manager.DefaultSAML2SSOManager.processSSOResponse(DefaultSAML2SSOManager.java:429)
>>         ... 55 more
>>
>> Thanks!
>>
>> On Fri, Oct 9, 2015 at 4:12 PM, Gayan Gunawardana <ga...@wso2.com> wrote:
>>
>>> #Alias of the IdP's public certificate
>>> IdPPublicCertAlias=wso2carbon
>>>
>>> seems this is not present in travelocity.properties file. Can you please
>>> try with latest travelocity app ?
>>>
>>> On Thu, Oct 8, 2015 at 5:53 PM, Nadeesha Meegoda <nadees...@wso2.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I'm continuously getting this error when assertion encryption is
>>>> enabled. I have attached the traveolcity.properties file for your
>>>> reference. I can give the travelocity.war on request.
>>>>
>>>> On Sun, Oct 4, 2015 at 1:43 PM, Gayan Gunawardana <ga...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Nadeesha,
>>>>>
>>>>> I just checked Federated SSO scenario  (product-is build 02/10/2015)
>>>>> you mentioned in the initial mail. It works fine for me except I had to
>>>>> replace commons-collections-3.1.jar with commons-collections-3.2.1.jar
>>>>> inside travelocity.com web app.
>>>>>
>>>>> Thanks,
>>>>> Gayan
>>>>>
>>>>> On Fri, Oct 2, 2015 at 9:11 PM, Nadeesha Meegoda <nadees...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Tharindu,
>>>>>>
>>>>>> When I tested this with single IS for SAML SSO (not the federated
>>>>>> scenario) everything worked fine for super tenant. I doubt this is 
>>>>>> related
>>>>>> to the federated scenario. Please have a look and let me know.
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> On Fri, Oct 2, 2015 at 8:52 PM, Tharindu Edirisinghe <
>>>>>> tharin...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi Nadeesha,
>>>>>>>
>>>>>>> For super tenant, sso.agent should be able to decrypt the encrypted
>>>>>>> saml assertion. However there was an issue [1] where for a tenant, when 
>>>>>>> the
>>>>>>> tenant encrypts the SAML assertion from the public certificate of the
>>>>>>> client (i.e travelocity app), then sso.agent could not decrypt the
>>>>>>> assertion because in the code, the private key of travelocity's key 
>>>>>>> store
>>>>>>> was not getting picked up because of the particular method called in 
>>>>>>> open
>>>>>>> saml library. This was patched sometimes back for sso.agent 1.2 version 
>>>>>>> but
>>>>>>> we need to check whether the same fix got correctly merged to higher
>>>>>>> versions (i.e 1.4). Ideally this should anyway work for super tenant, 
>>>>>>> but
>>>>>>> we'll check the same scenario more and let you know.
>>>>>>>
>>>>>>> [1] https://wso2.org/jira/browse/IDENTITY-3186
>>>>>>>
>>>>>>> Regards,
>>>>>>> TharinduE
>>>>>>>
>>>>>>> On Fri, Oct 2, 2015 at 3:34 PM, Nadeesha Meegoda <nadees...@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Hi Darshana,
>>>>>>>>
>>>>>>>> Yes the response is encrypted. Sending the SAML sso trace attached
>>>>>>>> with the mail.
>>>>>>>>
>>>>>>>> @Ishara I used wso2carbon as the certificate alias since I'm using
>>>>>>>> the default key stores and also I'm testing this in super tenant mode. 
>>>>>>>>  Do
>>>>>>>> I need to import the public certificate of the private key of 
>>>>>>>> travelocity
>>>>>>>> app to IS keystores in super tenant mode?
>>>>>>>>
>>>>>>>> On Fri, Oct 2, 2015 at 3:19 PM, Ishara Karunarathna <
>>>>>>>> isha...@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Nadeesha,
>>>>>>>>>
>>>>>>>>> On Fri, Oct 2, 2015 at 3:04 PM, Darshana Gunawardana <
>>>>>>>>> darsh...@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Nadeesha,
>>>>>>>>>>
>>>>>>>>>> Have you checked whether the assertion is encrypted in the
>>>>>>>>>> response IS send back to travelocity app?
>>>>>>>>>>
>>>>>>>>>> And please provide the SSO Trace (save as a text file and attach
>>>>>>>>>> in the mail) for the whole flow.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Darshana
>>>>>>>>>>
>>>>>>>>>> On Fri, Oct 2, 2015 at 2:53 PM, Nadeesha Meegoda <
>>>>>>>>>> nadees...@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi.
>>>>>>>>>>>
>>>>>>>>>>> I have configured the setup to Login to the Identity Server
>>>>>>>>>>> Using Another Identity Server as per the details in [1] in Super 
>>>>>>>>>>> tenant
>>>>>>>>>>> mode. With the happy scenario according to the documentation this 
>>>>>>>>>>> works
>>>>>>>>>>> fine. But I have enabled some additional properties in IDP and SP 
>>>>>>>>>>> used for
>>>>>>>>>>> IDP as following :
>>>>>>>>>>>
>>>>>>>>>>> *Properties enabled for Federated Authenticators* - SAML2 Web
>>>>>>>>>>> SSO Configuration
>>>>>>>>>>>
>>>>>>>>>>> 1. Enabled Assertion Encryption
>>>>>>>>>>> 2. Enable Assertion Signing
>>>>>>>>>>> 3. Enable Authentication Response Signing
>>>>>>>>>>>
>>>>>>>>>>> *Properties enabled fo SP used for IDP *
>>>>>>>>>>>
>>>>>>>>>>> 1. Enabled Assertion Encryption
>>>>>>>>>>> 2. Enabled Response Signing
>>>>>>>>>>>
>>>>>>>>>>> *Properties enabled fo SP used for travelocity app*
>>>>>>>>>>>
>>>>>>>>>>> 1. Enabled Assertion Encryption
>>>>>>>>>>>
>>>>>>>>>> What is the Certificate Alias you used here ?
>>>>>>>>> is that the public key in travelocity app ?
>>>>>>>>>
>>>>>>>>>> 2. Enabled Response Signing
>>>>>>>>>>>
>>>>>>>>>>> In the travelocity.properties file also I have enabled Assertion
>>>>>>>>>>> Encryption,Response signing and Assertion signing. I have already 
>>>>>>>>>>> imported
>>>>>>>>>>> the Identity Provider Public Certificate to IDP
>>>>>>>>>>>
>>>>>>>>>>> When I'm signing in to travelocity.com I get Unable to decrypt
>>>>>>>>>>> the SAML Assertion error and error in [2] in tomcat.
>>>>>>>>>>>
>>>>>>>>>>> Note that only enabling "assertion signing" in IDP I was
>>>>>>>>>>> successfully able to login and no error was displayed. When I 
>>>>>>>>>>> enabled the
>>>>>>>>>>> Assertion Encryption this error occurred. Why is this error 
>>>>>>>>>>> occurred when I
>>>>>>>>>>> enable this property as mentioned above?
>>>>>>>>>>>
>>>>>>>>>>> Any help regarding this is highly appreciated!
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> [1] -
>>>>>>>>>>> https://docs.wso2.com/pages/viewpage.action?title=Login%2Bto%2Bthe%2BIdentity%2BServer%2BUsing%2BAnother%2BIdentity%2BServer&spaceKey=IS510
>>>>>>>>>>>
>>>>>>>>>>> [2] - Oct 02, 2015 2:10:47 PM
>>>>>>>>>>> org.wso2.carbon.identity.sso.agent.SSOAgentFilter doFilter
>>>>>>>>>>> SEVERE: An error has occurred
>>>>>>>>>>> org.wso2.carbon.identity.sso.agent.exception.SSOAgentException:
>>>>>>>>>>> Unable to decrypt the SAML Assertion
>>>>>>>>>>>         at
>>>>>>>>>>> org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:254)
>>>>>>>>>>>         at
>>>>>>>>>>> org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processResponse(SAML2SSOManager.java:198)
>>>>>>>>>>>         at
>>>>>>>>>>> org.wso2.carbon.identity.sso.agent.SSOAgentFilter.doFilter(SSOAgentFilter.java:89)
>>>>>>>>>>>         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:220)
>>>>>>>>>>>         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:170)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
>>>>>>>>>>>         at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>         at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>         at
>>>>>>>>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>>>>>>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks!
>>>>>>>>>>> --
>>>>>>>>>>> *Nadeesha Meegoda*
>>>>>>>>>>> Software Engineer - QA
>>>>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>>>>> lean.enterprise.middleware
>>>>>>>>>>> email : nadees...@wso2.com
>>>>>>>>>>> mobile: +94783639540
>>>>>>>>>>> <%2B94%2077%202273555>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Darshana Gunawardana*Senior Software Engineer
>>>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>>>>
>>>>>>>>>> *E-mail: darsh...@wso2.com <darsh...@wso2.com>*
>>>>>>>>>> *Mobile: +94718566859 <%2B94718566859>*Lean . Enterprise .
>>>>>>>>>> Middleware
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Ishara Karunarathna
>>>>>>>>> Senior Software Engineer
>>>>>>>>> WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>>>>>>
>>>>>>>>> email: isha...@wso2.com,   blog: isharaaruna.blogspot.com,
>>>>>>>>> mobile: +94717996791
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Nadeesha Meegoda*
>>>>>>>> Software Engineer - QA
>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>> lean.enterprise.middleware
>>>>>>>> email : nadees...@wso2.com
>>>>>>>> mobile: +94783639540
>>>>>>>> <%2B94%2077%202273555>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> Dev@wso2.org
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Tharindu Edirisinghe
>>>>>>> Software Engineer | WSO2 Inc
>>>>>>> Identity Server Team
>>>>>>> Blog : tharindue.blogspot.com
>>>>>>> mobile : +94 775 181586
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Nadeesha Meegoda*
>>>>>> Software Engineer - QA
>>>>>> WSO2 Inc.; http://wso2.com
>>>>>> lean.enterprise.middleware
>>>>>> email : nadees...@wso2.com
>>>>>> mobile: +94783639540
>>>>>> <%2B94%2077%202273555>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> Dev@wso2.org
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Gayan Gunawardana
>>>>> Software Engineer; WSO2 Inc.; http://wso2.com/
>>>>> Email: ga...@wso2.com
>>>>> Mobile: +94 (71) 8020933
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Nadeesha Meegoda*
>>>> Software Engineer - QA
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>> email : nadees...@wso2.com
>>>> mobile: +94783639540
>>>> <%2B94%2077%202273555>
>>>>
>>>
>>>
>>>
>>> --
>>> Gayan Gunawardana
>>> Software Engineer; WSO2 Inc.; http://wso2.com/
>>> Email: ga...@wso2.com
>>> Mobile: +94 (71) 8020933
>>>
>>
>>
>>
>> --
>> *Nadeesha Meegoda*
>> Software Engineer - QA
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>> email : nadees...@wso2.com
>> mobile: +94783639540
>> <%2B94%2077%202273555>
>>
>
>
>
> --
> Gayan Gunawardana
> Software Engineer; WSO2 Inc.; http://wso2.com/
> Email: ga...@wso2.com
> Mobile: +94 (71) 8020933
>



-- 
*Nadeesha Meegoda*
Software Engineer - QA
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
email : nadees...@wso2.com
mobile: +94783639540
<%2B94%2077%202273555>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to