Hi, Based on this answer <https://stackoverflow.com/questions/39649801/wso2-am-2-0-0-error-occurred-while-executing-the-action-generateapplicationkey>, this error might happen due to datasource configuration in IS. Shall we recheck those?
Thanks. On Mon, Nov 27, 2017 at 12:23 PM, Chalitha Waldeniyage <[email protected]> wrote: > > > On Mon, Nov 27, 2017 at 12:20 PM, Chalitha Waldeniyage <[email protected]> > wrote: > >> Adding Asela >> >> On Mon, Nov 27, 2017 at 11:26 AM, Chalitha Waldeniyage <[email protected] >> > wrote: >> >>> Hi Harsha/Samitha, >>> >>> Yes i have created a self sign certificate as per [1] and imported all >>> the nginx public keys there. I have verified that with above command as >>> well. >>> Here with I'm attaching the client trust.jks file which i'm using in the >>> servers. >>> Further key manager is fronted via nginx. >>> >>> On Sun, Nov 26, 2017 at 10:09 PM, Samitha Chathuranga <[email protected]> >>> wrote: >>> >>>> Hi Chalitha, >>>> >>>> Are you pointing KM (from other nodes) through load balancer? I don't >>>> think you have done so. And if you have changed the hostnames of the >>>> servers, the default keystore/client-trustore won't work. Refer [1] >>>> >>>> To check which certificates are in a Java keystore, enter the below >>>> command. >>>> >>>> keytool -list -v -keystore client-truststore.jks >>>> >>>> >>>> [1] - https://github.com/wso2/puppet-apim/tree/master/wso2am_runti >>>> me#keystore-and-client-truststore-related-configs >>>> >>>> >>>> Regards, >>>> Samitha >>>> >>>> On Sun, Nov 26, 2017 at 7:17 PM, Harsha Kumara <[email protected]> >>>> wrote: >>>> >>>>> Hi Chalitha, >>>>> >>>>> It seems KM certificate isn't imported to the trustee. Can you verify >>>>> it? If so we will need to fix it. >>>>> >>>>> Thanks, >>>>> Harsha >>>>> >>>>> On Sun, Nov 26, 2017 at 1:46 PM, Chalitha Waldeniyage < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> I'm setting up an APIM cluster puppet patten 6 using APIM 2.1.0 >>>>>> puppet scripts[1]. >>>>>> When I try to generate keys for an application, pub/store nodes are >>>>>> throwing the below error. (IS 5.3.0 used as the Keymanager) >>>>>> Additionally in gateway Manager and worker also throwing the similar >>>>>> errors in the startup. I have imported the nginx public cert to the each >>>>>> node client-truststore.jks file as per instruction in >>>>>> [2] . >>>>>> Could you please looking to this? >>>>>> >>>>>> >>>>>> *pub/store Node error:* >>>>>> TID: [-1234] [] [2017-11-26 06:40:15,956] ERROR >>>>>> {org.wso2.carbon.apimgt.impl.APIConsumerImpl} - Could not execute >>>>>> Workflow {org.wso2.carbon.apimgt.impl.APIConsumerImpl} >>>>>> >>>>>> org.wso2.carbon.apimgt.impl.workflow.WorkflowException: Error occurred >>>>>> when updating the status of the Application creation process >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.workflow.ApplicationRegistrationSimpleWorkflowExecutor.complete(ApplicationRegistrationSimpleWorkflowExecutor.java:82) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.workflow.ApplicationRegistrationSimpleWorkflowExecutor.execute(ApplicationRegistrationSimpleWorkflowExecutor.java:54) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.APIConsumerImpl.requestApprovalForApplicationRegistration(APIConsumerImpl.java:2789) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.UserAwareAPIConsumer.requestApprovalForApplicationRegistration(UserAwareAPIConsumer.java:36) >>>>>> at >>>>>> org.wso2.carbon.apimgt.hostobjects.APIStoreHostObject.jsFunction_getApplicationKey(APIStoreHostObject.java:385) >>>>>> 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.callN(OptRuntime.java:52) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.modules.subscription.c3._c_anonymous_2(/store/modules/subscription/key.jag:39) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.modules.subscription.c3.call(/store/modules/subscription/key.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.store.modules.subscription.c0._c_anonymous_10(/store/modules/subscription/module.jag:35) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.modules.subscription.c0.call(/store/modules/subscription/module.jag) >>>>>> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.site.blocks.subscription.subscription_add.ajax.c0._c_anonymous_1(/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag:240) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.site.blocks.subscription.subscription_add.ajax.c0.call(/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag) >>>>>> at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.site.blocks.subscription.subscription_add.ajax.c0._c_script_0(/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag:3) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.site.blocks.subscription.subscription_add.ajax.c0.call(/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag) >>>>>> at >>>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) >>>>>> at >>>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.site.blocks.subscription.subscription_add.ajax.c0.call(/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag) >>>>>> at >>>>>> org.jaggeryjs.rhino.store.site.blocks.subscription.subscription_add.ajax.c0.exec(/store/site/blocks/subscription/subscription-add/ajax/subscription-add.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.ContentTypeBasedCachePreventionFilter.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.CarbonStuckThreadDetectionValve.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.wso2.carbon.apimgt.api.APIManagementException: Error >>>>>> occurred while executing SubscriberKeyMgtClient. >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.utils.APIUtil.handleException(APIUtil.java:1269) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.dogenerateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:155) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.generateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:118) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.workflow.ApplicationRegistrationSimpleWorkflowExecutor.complete(ApplicationRegistrationSimpleWorkflowExecutor.java:78) >>>>>> ... 75 more >>>>>> Caused by: org.wso2.carbon.apimgt.api.APIManagementException: Error >>>>>> while creating tokens - sun.security.validator.ValidatorException: PKIX >>>>>> path building failed: >>>>>> sun.security.provider.certpath.SunCertPathBuilderException: unable to >>>>>> find valid certification path to requested target >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.handleException(AMDefaultKeyManagerImpl.java:639) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.getNewApplicationAccessToken(AMDefaultKeyManagerImpl.java:389) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.dogenerateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:151) >>>>>> ... 77 more >>>>>> Caused by: javax.net.ssl.SSLHandshakeException: >>>>>> sun.security.validator.ValidatorException: PKIX path building failed: >>>>>> sun.security.provider.certpath.SunCertPathBuilderException: unable to >>>>>> find valid certification path to requested target >>>>>> at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) >>>>>> at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949) >>>>>> at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) >>>>>> at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) >>>>>> at >>>>>> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514) >>>>>> at >>>>>> sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) >>>>>> at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026) >>>>>> at sun.security.ssl.Handshaker.process_record(Handshaker.java:961) >>>>>> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062) >>>>>> at >>>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) >>>>>> at >>>>>> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) >>>>>> at >>>>>> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) >>>>>> at >>>>>> org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:533) >>>>>> at >>>>>> org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:401) >>>>>> at >>>>>> org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:178) >>>>>> at >>>>>> org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144) >>>>>> at >>>>>> org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131) >>>>>> at >>>>>> org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610) >>>>>> at >>>>>> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445) >>>>>> at >>>>>> org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) >>>>>> at >>>>>> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) >>>>>> at >>>>>> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) >>>>>> at >>>>>> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) >>>>>> at >>>>>> org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.getNewApplicationAccessToken(AMDefaultKeyManagerImpl.java:363) >>>>>> ... 78 more >>>>>> Caused by: sun.security.validator.ValidatorException: PKIX path building >>>>>> failed: sun.security.provider.certpath.SunCertPathBuilderException: >>>>>> unable to find valid certification path to requested target >>>>>> at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387) >>>>>> at >>>>>> sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) >>>>>> at sun.security.validator.Validator.validate(Validator.java:260) >>>>>> at >>>>>> sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) >>>>>> at >>>>>> sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) >>>>>> at >>>>>> sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) >>>>>> at >>>>>> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496) >>>>>> ... 97 more >>>>>> Caused by: sun.security.provider.certpath.SunCertPathBuilderException: >>>>>> unable to find valid certification path to requested target >>>>>> at >>>>>> sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) >>>>>> at >>>>>> sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) >>>>>> at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) >>>>>> at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) >>>>>> ... 103 more >>>>>> >>>>>> ... 103 more >>>>>> TID: [-1234] [] [2017-11-26 06:40:15,992] ERROR >>>>>> {JAGGERY.site.blocks.subscription.subscription-add.ajax.subscription-add:jag} >>>>>> - org.jaggeryjs.scriptengine.exceptions.ScriptException: Error while >>>>>> obtaining the application access token for the application:Helloapp45 >>>>>> {JAGGERY.site.blocks.subscription.subscription-add.ajax.subscription-add:jag} >>>>>> >>>>>> *GatewayManager/Worker error* >>>>>> >>>>>> TID: [-1] [] [2017-11-26 06:40:24,183] WARN >>>>>> {org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever} >>>>>> - Failed retrieving Blocking Conditions from remote endpoint: >>>>>> sun.security.validator.ValidatorException: PKIX path building failed: >>>>>> sun.security.provider.certpath.SunCertPathBuilderException: unable to >>>>>> find valid certification path to requested target. Retrying after 15 >>>>>> seconds... >>>>>> {org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever} >>>>>> TID: [-1] [] [2017-11-26 06:40:39,187] WARN >>>>>> {org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever} >>>>>> - Failed retrieving Blocking Conditions from remote endpoint: >>>>>> sun.security.validator.ValidatorException: PKIX path building failed: >>>>>> sun.security.provider.certpath.SunCertPathBuilderException: unable to >>>>>> find valid certification path to requested target. Retrying after 15 >>>>>> seconds... >>>>>> {org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever} >>>>>> >>>>>> >>>>>> [1] https://github.com/wso2/puppet-apim >>>>>> >>>>>> [2] https://docs.wso2.com/display/AM210/Distributed+Deployment+o >>>>>> f+the+Gateway >>>>>> >>>>>> >>>>>> Thank you, >>>>>> Chalitha. >>>>>> >>>>>> -- >>>>>> *Chalitha Maheshwari* >>>>>> Software Engineer-QA, >>>>>> WSO2 Inc. >>>>>> >>>>>> *E-mail:* [email protected] >>>>>> *Mobile: *+94710 411 112 <+94%2071%20041%201112> >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Harsha Kumara >>>>> Software Engineer, WSO2 Inc. >>>>> Mobile: +94775505618 <+94%2077%20550%205618> >>>>> Blog:harshcreationz.blogspot.com >>>>> >>>> >>>> >>>> >>>> -- >>>> Samitha Chathuranga >>>> Software Engineer, WSO2 Inc. >>>> lean.enterprise.middleware >>>> Mobile: +94715123761 >>>> >>>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>>> >>> >>> >>> >>> -- >>> *Chalitha Maheshwari* >>> Software Engineer-QA, >>> WSO2 Inc. >>> >>> *E-mail:* [email protected] >>> *Mobile: *+94710 411 112 <+94%2071%20041%201112> >>> >> >> >> >> -- >> *Chalitha Maheshwari* >> Software Engineer-QA, >> WSO2 Inc. >> >> *E-mail:* [email protected] >> *Mobile: *+94710 411 112 <+94%2071%20041%201112> >> > > > > -- > *Chalitha Maheshwari* > Software Engineer-QA, > WSO2 Inc. > > *E-mail:* [email protected] > *Mobile: *+94710 411 112 <+94%2071%20041%201112> > -- Chamin Dias Mobile : 0716097455 Email : [email protected] LinkedIn : https://www.linkedin.com/in/chamindias
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
