Hi Keerthika, That approach looks so good since we can use this even in the past releases also. As I remember Thulasika used similar approach before.
*Nadeeshaan Gunasinghe* Software Engineer, WSO2 Inc. http://wso2.com +94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe <#> <http://www.facebook.com/nadeeshaan.gunasinghe> <http://lk.linkedin.com/in/nadeeshaan> <http://twitter.com/Nadeeshaan> <http://nadeeshaan.blogspot.com/> Get a signature like this: Click here! <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=> On Fri, Jan 29, 2016 at 12:14 PM, Malaka Silva <[email protected]> wrote: > This looks good, since this way we can support ESB versions since 480. > > On Fri, Jan 29, 2016 at 11:14 AM, Keerthika Mahendralingam < > [email protected]> wrote: > >> Hi Thulashika, >> I think you can use the following script to save the feilds in registry. >> It will work with 4.8.1, 4.9.0 and 4.10 as well. >> >> <script language="js"><![CDATA[ >> >> var accessToken = mc.getProperty('accessToken'); >> >> importPackage(Packages.org.apache.synapse.config); >> >> mc.getConfiguration().getRegistry().newResource("connectors/credentials/ >> accessToken",false); >> >> mc.getConfiguration().getRegistry().updateResource(" >> connectors/credentials/accessToken", accessToken); >> >> ]]> >> >> </script> >> >> >> @Malaka/Nadeesan, Do you have any suggestion on this? >> >> >> >> Thanks, >> >> On Wed, Jan 27, 2016 at 3:25 PM, Nadeeshaan Gunasinghe < >> [email protected]> wrote: >> >>> Hi Thulasika, >>> >>> This feature is not available in the WSO2 ESB 4.9.0. This is available >>> from in 4.10. >>> >>> Thanks >>> >>> *Nadeeshaan Gunasinghe* >>> Software Engineer, WSO2 Inc. http://wso2.com >>> +94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe >>> <#-724930154_2030771968_-851590053_> >>> <http://www.facebook.com/nadeeshaan.gunasinghe> >>> <http://lk.linkedin.com/in/nadeeshaan> <http://twitter.com/Nadeeshaan> >>> <http://nadeeshaan.blogspot.com/> >>> Get a signature like this: Click here! >>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=> >>> >>> On Wed, Jan 27, 2016 at 2:05 PM, Thulasika Vijayanathan < >>> [email protected]> wrote: >>> >>>> Hi , >>>> >>>> I am implementing common init method for ESB 4.9 and 4.10. For ESB 4.10 >>>> I use the property mediator to store new persistent content(accessToken) in >>>> the registry as following: >>>> <property name="connectors/salesforce/accessToken" >>>> expression="get-property('uri.var.accessToken')" scope="registry"/> >>>> >>>> when I enabling the connector artifact in ESB 4.9.0 I'm getting the >>>> following error due to scope "registry".How to proceed further? >>>> >>>> ERROR - PropertyMediatorFactory Only 'axis2' or 'transport' or >>>> 'axis2-client' or 'default' or 'operation' values are allowed for attribute >>>> scope for a property mediator, Unsupported scope registry >>>> [2016-01-27 13:31:53,717] ERROR - MediationLibraryAdminService Unable >>>> to update status for : {org.wso2.carbon.connector}salesforcerest :: >>>> Template configuration : null cannot be builtfor Synapse Library artifact : >>>> newInit1 >>>> org.apache.synapse.deployers.SynapseArtifactDeploymentException: >>>> Template configuration : null cannot be builtfor Synapse Library artifact : >>>> newInit1 >>>> at >>>> org.apache.synapse.libraries.model.LibraryArtifact$TemplateArtifactFile.build(LibraryArtifact.java:196) >>>> at >>>> org.apache.synapse.libraries.model.LibraryArtifact.loadComponentsInto(LibraryArtifact.java:100) >>>> at >>>> org.apache.synapse.libraries.model.SynapseLibrary.loadLibrary(SynapseLibrary.java:144) >>>> at >>>> org.apache.synapse.libraries.model.SynapseLibrary.loadLibrary(SynapseLibrary.java:129) >>>> at >>>> org.apache.synapse.libraries.util.LibDeployerUtils.loadLibArtifacts(LibDeployerUtils.java:340) >>>> at >>>> org.wso2.carbon.mediation.library.service.MediationLibraryAdminService.addImport(MediationLibraryAdminService.java:100) >>>> at >>>> org.wso2.carbon.mediation.library.service.MediationLibraryAdminService.addImport(MediationLibraryAdminService.java:124) >>>> at >>>> org.wso2.carbon.mediation.library.service.MediationLibraryAdminService.updateStatus(MediationLibraryAdminService.java:436) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at >>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) >>>> at >>>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) >>>> at >>>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) >>>> at >>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) >>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>>> at >>>> org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169) >>>> at >>>> org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82) >>>> at >>>> org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.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.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297) >>>> at >>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) >>>> at >>>> org.wso2.carbon.mediation.library.stub.MediationLibraryAdminServiceStub.updateStatus(MediationLibraryAdminServiceStub.java:1476) >>>> at >>>> org.wso2.carbon.mediation.library.ui.LibraryAdminClient.updateStatus(LibraryAdminClient.java:114) >>>> at >>>> org.apache.jsp.mediation_005flibrary.import_005flib_jsp._jspService(import_005flib_jsp.java:114) >>>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>> at >>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) >>>> at >>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) >>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>> 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: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:68) >>>> 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.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) >>>> at >>>> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604) >>>> at >>>> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543) >>>> at >>>> org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:37) >>>> at >>>> org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.include(ContextPathServletAdaptor.java:369) >>>> at >>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954) >>>> at >>>> org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:688) >>>> at >>>> org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:682) >>>> at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at org.apache.tiles.jsp.context.JspUtil.doInclude(JspUtil.java:87) >>>> at >>>> org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:88) >>>> at >>>> org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:82) >>>> at >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:465) >>>> at >>>> org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140) >>>> at >>>> org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117) >>>> at >>>> org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171) >>>> at >>>> org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75) >>>> at >>>> org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80) >>>> at >>>> org.apache.jsp.admin.layout.template_jsp._jspx_meth_tiles_005finsertAttribute_005f7(template_jsp.java:640) >>>> at >>>> org.apache.jsp.admin.layout.template_jsp._jspService(template_jsp.java:356) >>>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>> at >>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) >>>> at >>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) >>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>> 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: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:68) >>>> 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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) >>>> at >>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) >>>> at >>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) >>>> at >>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) >>>> at >>>> org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30) >>>> at >>>> org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.forward(ContextPathServletAdaptor.java:362) >>>> at >>>> org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198) >>>> at >>>> org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:185) >>>> at >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419) >>>> at >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370) >>>> at org.wso2.carbon.ui.action.ActionHelper.render(ActionHelper.java:52) >>>> at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:101) >>>> 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:68) >>>> 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.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.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49) >>>> 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.apache.synapse.SynapseException: Only 'axis2' or >>>> 'transport' or 'axis2-client' or 'default' or 'operation' values are >>>> allowed for attribute scope for a property mediator, Unsupported scope >>>> registry >>>> at >>>> org.apache.synapse.config.xml.PropertyMediatorFactory.createSpecificMediator(PropertyMediatorFactory.java:137) >>>> at >>>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94) >>>> at >>>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224) >>>> at >>>> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46) >>>> at >>>> org.apache.synapse.config.xml.FilterMediatorFactory.createSpecificMediator(FilterMediatorFactory.java:136) >>>> at >>>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94) >>>> at >>>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224) >>>> at >>>> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46) >>>> at >>>> org.apache.synapse.config.xml.FilterMediatorFactory.createSpecificMediator(FilterMediatorFactory.java:136) >>>> at >>>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94) >>>> at >>>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224) >>>> at >>>> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46) >>>> at >>>> org.apache.synapse.config.xml.TemplateMediatorFactory.createSpecificMediator(TemplateMediatorFactory.java:61) >>>> at >>>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94) >>>> at >>>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224) >>>> at >>>> org.apache.synapse.libraries.model.LibraryArtifact$TemplateArtifactFile.build(LibraryArtifact.java:190) >>>> ... 133 more >>>> >>>> >>>> Thanks, >>>> Thulasika >>>> >>>> >>>> On Tue, Dec 8, 2015 at 11:35 AM, Malaka Silva <[email protected]> wrote: >>>> >>>>> Hi, >>>>> >>>>> One of the main issues we had when automating the integration use >>>>> cases is accesstokens getting expired and need human interaction to >>>>> continue the service. >>>>> >>>>> From connector side (Since September release) we have added methods to >>>>> renew the tokens using refresh token. >>>>> >>>>> With ESB 4.10 registry persistence feature we can fully automate this >>>>> use case. >>>>> >>>>> As the first stage we are going to check how this can be done. For >>>>> this will be using the sync service from Salesforce to Google Sheets as >>>>> the >>>>> model use case. >>>>> >>>>> We will plan to do this change focusing on following points. >>>>> >>>>> 1. Connectors should make use of this ESB 4.10 new feature. >>>>> 2. Connector should be also compatible with previous versions. >>>>> >>>>> May be we can introduce a new init method for esb 4.10? >>>>> >>>>> Thulasika is currently checking this. >>>>> >>>>> @Thulasika please use this thread to update the findings. >>>>> >>>>> Best Regards, >>>>> >>>>> Malaka Silva >>>>> Senior Tech Lead >>>>> M: +94 777 219 791 >>>>> Tel : 94 11 214 5345 >>>>> Fax :94 11 2145300 >>>>> Skype : malaka.sampath.silva >>>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 >>>>> Blog : http://mrmalakasilva.blogspot.com/ >>>>> >>>>> WSO2, Inc. >>>>> lean . enterprise . middleware >>>>> http://www.wso2.com/ >>>>> http://www.wso2.com/about/team/malaka-silva/ >>>>> <http://wso2.com/about/team/malaka-silva/> >>>>> https://store.wso2.com/store/ >>>>> >>>>> Save a tree -Conserve nature & Save the world for your future. Print >>>>> this email only if it is absolutely necessary. >>>>> >>>> >>>> >>>> >>>> -- >>>> Thulasika >>>> Associate Software Engineer >>>> Mobile:0778014295 >>>> email: [email protected] <[email protected]> >>>> >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> <[email protected]> >> Keerthika Mahendralingam >> Associate Software Engineer >> Mobile :+94 (0) 776 121144 >> [email protected] >> WSO2, Inc. >> lean . enterprise . middleware >> > > > > -- > > Best Regards, > > Malaka Silva > Senior Tech Lead > M: +94 777 219 791 > Tel : 94 11 214 5345 > Fax :94 11 2145300 > Skype : malaka.sampath.silva > LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 > Blog : http://mrmalakasilva.blogspot.com/ > > WSO2, Inc. > lean . enterprise . middleware > http://www.wso2.com/ > http://www.wso2.com/about/team/malaka-silva/ > <http://wso2.com/about/team/malaka-silva/> > https://store.wso2.com/store/ > > Save a tree -Conserve nature & Save the world for your future. Print this > email only if it is absolutely necessary. >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
