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

Reply via email to