Hi Shariq, I debuged the addUser method in org.wso2.carbon.identity.user.registration.UserRegistrationService class and found the code snippet that causes the error.
if (tenantConfig != null && tenantConfig.getSignUpDomain() != "") { int index = userName.indexOf(UserCoreConstants.DOMAIN_SEPARATOR); if (index > 0) { userName = tenantConfig.getSignUpDomain().toUpperCase() + UserCoreConstants.DOMAIN_SEPARATOR + userName.substring(index + 1); } else { userName = tenantConfig.getSignUpDomain().toUpperCase() + UserCoreConstants.DOMAIN_SEPARATOR + userName; } } >From this part the username is changed from 'chamila' to 'T2.COM/chamila' and this causes the 'Invalid Domain Name' error when adding a user. I was able to create users for tenants (using roles in the registry entry) by removing this part. Is there any reason for having this part? (any other places that might fail) or is it ok to remove this? Thanks, Chamila. On Fri, Aug 29, 2014 at 2:48 PM, Chamila Adhikarinayake <chami...@wso2.com> wrote: > Hi Shariq, > I modified according to the way you mentioned and was able to create users > for tenants with default configuration (Internal/identity). But when I > created the registry entry for tenants as the way you described in the > architecture thread, I get the following error. My registry entry in > '/_system/governance/repository/identity/sign-up-config' for domain T2.com > is > > <SelfSignUp> > <SignUpDomain>T2.COM</SignUpDomain> > <SignUpRole> > <RoleName>test</RoleName> > <IsExternalRole>false</IsExternalRole> > </SignUpRole> > </SelfSignUp> > > Username passed for this is cham...@t2.com. I created a separate internal > role 'test' with some permission. I did not do any other configuration in > the API manager. Can you point out my mistake. I can create users with > roles by adding following to the identity.xml > > <SelfSignUp> > <SignUpRole> > <Name>subscriber</Name> > <External>false</External> > </SignUpRole> > </SelfSignUp> > > following is the error log. > > org.wso2.carbon.identity.base.IdentityException: Error occurred while > adding user : T2.COM/chamila > at > org.wso2.carbon.identity.user.registration.UserRegistrationService.addUser(UserRegistrationService.java:268) > at > org.wso2.carbon.identity.user.registration.UserRegistrationService.addUser(UserRegistrationService.java:162) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) > at > org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66) > 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.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > 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:848) > at > org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178) > at > org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) > at > org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56) > at > org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141) > at > org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.wso2.carbon.user.core.UserStoreException: Invalid Domain > Name > at > org.wso2.carbon.user.core.common.AbstractUserStoreManager.getUserStore(AbstractUserStoreManager.java:2301) > at > org.wso2.carbon.user.core.common.AbstractUserStoreManager.addUser(AbstractUserStoreManager.java:1035) > at > org.wso2.carbon.user.core.common.AbstractUserStoreManager.addUser(AbstractUserStoreManager.java:1179) > at > org.wso2.carbon.identity.user.registration.UserRegistrationService.addUser(UserRegistrationService.java:231) > ... 45 more > > > Thanks, > Chamila. > > > On Fri, Aug 22, 2014 at 12:30 PM, Shariq Muhammed <sha...@wso2.com> wrote: > >> Hi Chamil, >> >> The service name is UserRegistrationService and it is not an >> AdminService. Please refer to the existing sign-up code in API-M, it uses >> this service to sign-up users. Like I said y'day, you need to prepend >> "@tenantDomain" to the username, and that particular user will be added to >> the specified tenant domain. >> >> >> >> >> On Fri, Aug 22, 2014 at 10:40 AM, Chamila Adhikarinayake < >> chami...@wso2.com> wrote: >> >>> Hi All, >>> I started working on self sign up feature for tenants API store. Some >>> previous discussion on this can be found in the thread "[Architecture] >>> Provide support for self signup for tenants' APIStores". >>> >>> I went through the code for current self signup and it uses a >>> 'UserRegistrationAdminService' to add a user. But this adds a user to super >>> tenant only. Is there any other service I can use to add a user to a >>> different tenant?. Also there is a mentioning about a >>> 'UserSelfRegistrationService' in the above mentioned thread but I could not >>> find it in the admin service list. >>> >>> Thanks in advance >>> Chamila. >>> >>> -- >>> Regards, >>> Chamila Adhikarinayake >>> Software Engineer >>> WSO2, Inc. >>> Mobile - +94712346437 >>> Email - chami...@wso2.com >>> >> >> >> >> -- >> Thanks, >> Shariq >> Senior Software Engineer >> > > > > -- > Regards, > Chamila Adhikarinayake > Software Engineer > WSO2, Inc. > Mobile - +94712346437 > Email - chami...@wso2.com > -- Regards, Chamila Adhikarinayake Software Engineer WSO2, Inc. Mobile - +94712346437 Email - chami...@wso2.com
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev