Modifying <SignUpDomain>T2.COM</SignUpDomain> to <SignUpDomain>PRIMARY</SignUpDomain> fixed the error (without modifying the code). Thank you for your explanation regarding this.
Chamila. On Mon, Sep 1, 2014 at 12:04 PM, Chamila Adhikarinayake <chami...@wso2.com> wrote: > 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 > -- 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