+ Darshana, Damith On Mon, Nov 30, 2015 at 1:37 PM, Chamalee De Silva <chama...@wso2.com> wrote:
> Hi devs, > > I have created a *read-write LDAP user store* as per [1] and there I have > used *admin, admin* as credentials. I could successfully create it and > start the server. > > Then I created a user with the following credentials. > > username : adminSOA > password : 123456 > role : admin (default admin role) > > Then I followed [2] and configured a read-only (not read-write) external > user store in Greg 5.1.0 > > Given the user credentials as per the created user as above. > > > The configuration is as follows in user-mgt.xml in Greg. > > *<Configuration>* > * <AddAdmin>true</AddAdmin>* > * <AdminRole>admin</AdminRole>* > * <AdminUser>* > * <UserName>adminSOA</UserName>* > * <Password>123456</Password>* > * </AdminUser>* > * <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default > users in this role sees the registry root -->* > * <Property name="dataSource">jdbc/WSO2USER_DB</Property>* > * </Configuration>* > > *-----------------------------* > > * <Property name="ConnectionName">uid=adminSOA,ou=system</Property> > <Property name="ConnectionPassword">123456</Property> * > > But when I start Greg it gives the following error. > > [2015-11-30 13:13:36,823] ERROR > {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} - Error obtaining > connection. [LDAP: error code 49 - cannot bind the principalDn.] > javax.naming.AuthenticationException: [LDAP: error code 49 - cannot bind > the principalDn.] > at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3087) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2835) > at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749) > at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211) > at > com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154) > at > com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84) > at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) > at javax.naming.InitialContext.init(InitialContext.java:242) > at javax.naming.InitialContext.<init>(InitialContext.java:216) > at > javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101) > at > org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:167) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:156) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:100) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:336) > at > org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:203) > at > org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:108) > at > org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:230) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:96) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:109) > at > org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:68) > at > org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) > at java.security.AccessController.doPrivileged(Native Method) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) > [2015-11-30 13:13:36,827] ERROR > {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} - Trying again to > get connection. > [2015-11-30 13:13:36,829] ERROR > {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} - Error obtaining > connection for the second time[LDAP: error code 49 - cannot bind the > principalDn.] > javax.naming.AuthenticationException: [LDAP: error code 49 - cannot bind > the principalDn.] > at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3087) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2835) > at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749) > at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211) > at > com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154) > at > com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84) > at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) > at javax.naming.InitialContext.init(InitialContext.java:242) > at javax.naming.InitialContext.<init>(InitialContext.java:216) > at > javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101) > at > org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:167) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:156) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:100) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:336) > at > org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:203) > at > org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:108) > at > org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:230) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:96) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:109) > at > org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:68) > at > org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) > at java.security.AccessController.doPrivileged(Native Method) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) > [2015-11-30 13:13:36,831] ERROR > {org.wso2.carbon.user.core.common.DefaultRealm} - nullType class > java.lang.reflect.InvocationTargetException > org.wso2.carbon.user.core.UserStoreException: nullType class > java.lang.reflect.InvocationTargetException > at > org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:382) > at > org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:203) > at > org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:108) > at > org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:230) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:96) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:109) > at > org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:68) > at > org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) > at java.security.AccessController.doPrivileged(Native Method) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:336) > ... 22 more > Caused by: org.wso2.carbon.user.core.UserStoreException: Cannot create > connection to LDAP server. Error message Error obtaining connection. [LDAP: > error code 49 - cannot bind the principalDn.] > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:166) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:100) > ... 27 more > Caused by: org.wso2.carbon.user.core.UserStoreException: Error obtaining > connection. [LDAP: error code 49 - cannot bind the principalDn.] > at > org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:177) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:156) > ... 28 more > Caused by: javax.naming.AuthenticationException: [LDAP: error code 49 - > cannot bind the principalDn.] > at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3087) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2835) > at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749) > at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211) > at > com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154) > at > com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84) > at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) > at javax.naming.InitialContext.init(InitialContext.java:242) > at javax.naming.InitialContext.<init>(InitialContext.java:216) > at > javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101) > at > org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:167) > ... 29 more > [2015-11-30 13:13:36,834] ERROR > {org.wso2.carbon.user.core.internal.Activator} - Cannot start User Manager > Core bundle > org.wso2.carbon.user.core.UserStoreException: Cannot initialize the realm. > at > org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:240) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:96) > at > org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:109) > at > org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:68) > at > org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) > at java.security.AccessController.doPrivileged(Native Method) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) > Caused by: org.wso2.carbon.user.core.UserStoreException: nullType class > java.lang.reflect.InvocationTargetException > at > org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:303) > at > org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:108) > at > org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:230) > ... 19 more > Caused by: org.wso2.carbon.user.core.UserStoreException: nullType class > java.lang.reflect.InvocationTargetException > at > org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:382) > at > org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:203) > ... 21 more > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:336) > ... 22 more > Caused by: org.wso2.carbon.user.core.UserStoreException: Cannot create > connection to LDAP server. Error message Error obtaining connection. [LDAP: > error code 49 - cannot bind the principalDn.] > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:166) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:100) > ... 27 more > Caused by: org.wso2.carbon.user.core.UserStoreException: Error obtaining > connection. [LDAP: error code 49 - cannot bind the principalDn.] > at > org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:177) > at > org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:156) > ... 28 more > Caused by: javax.naming.AuthenticationException: [LDAP: error code 49 - > cannot bind the principalDn.] > at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3087) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033) > at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2835) > at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749) > at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193) > at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211) > at > com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154) > at > com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84) > at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) > at javax.naming.InitialContext.init(InitialContext.java:242) > at javax.naming.InitialContext.<init>(InitialContext.java:216) > at > javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101) > at > org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:167) > ... 29 more > > When I configure the read-only LDAP with *admin, admin* credentials I can > start the server without errors. > > Note : In this setup I have configured a MySQL user db for Greg in > user-mgt.xml as *WSO2USER_DB* and in IS it is default *WSO2CarbonDB*. > > Can anyone explain this situation and point me out what is the correct > step to be taken for this ? > > > [1] > https://docs.wso2.com/display/IS500/Configuring+a+Read-write+LDAP+User+Store > [2] > https://docs.wso2.com/display/Governance450/Configuring+an+External+LDAP+User+Store > > -- > Thanks & Regards, > > *Chamalee De Silva* > Software Engineer > *WS**O2* Inc. .:http://wso2.com > > Office :- *+94 11 2145345 <%2B94%2011%202145345>* > mobile :- *+94 7 <%2B94%2077%202782039>1 4315942* > > > -- Thanks & Regards, *Chamalee De Silva* Software Engineer *WS**O2* Inc. .:http://wso2.com Office :- *+94 11 2145345 <%2B94%2011%202145345>* mobile :- *+94 7 <%2B94%2077%202782039>1 4315942*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev