Skip to content

OrganizationManagementClientException when creating a sub-org in a new root organization #24858

@AmshikaH

Description

@AmshikaH

Description

When creating a sub-organization in a new root organization, the sub-org creation succeeds, however, the following error can be seen in the terminal when the version is fetched to check whether login and registration config inheritance is enabled.

[2025-07-27 11:55:54,998] [2e29808a-cd92-4c95-a5a8-d416ebedfab6] ERROR {org.wso2.carbon.identity.organization.management.service.util.Utils} - Error while resolving organization ID for tenant domain: suborg7k4m.com org.wso2.carbon.identity.organization.management.service.exception.OrganizationManagementClientException: Organization can only be managed from an ancestor organization.
	at org.wso2.carbon.identity.organization.management.service.util.Utils.handleClientException(Utils.java:100)
	at org.wso2.carbon.identity.organization.management.service.OrganizationManagerImpl.validateOrganizationAccess(OrganizationManagerImpl.java:1342)
	at org.wso2.carbon.identity.organization.management.service.OrganizationManagerImpl.getOrganization(OrganizationManagerImpl.java:287)
	at org.wso2.carbon.identity.organization.management.service.OrganizationManagerImpl.getOrganization(OrganizationManagerImpl.java:276)
	at org.wso2.carbon.identity.organization.management.service.util.Utils.isOrgVersionApplicable(Utils.java:635)
	at org.wso2.carbon.identity.organization.management.service.util.Utils.isLoginAndRegistrationConfigInheritanceEnabled(Utils.java:605)
	at org.wso2.carbon.idp.mgt.dao.IdPManagementDAO.getIDP(IdPManagementDAO.java:3431)
	at org.wso2.carbon.idp.mgt.dao.IdPManagementDAO.getIDPbyResourceId(IdPManagementDAO.java:3234)
	at org.wso2.carbon.idp.mgt.dao.IdPManagementDAO.addIdPWithResourceId(IdPManagementDAO.java:4203)
	at org.wso2.carbon.idp.mgt.dao.IdPManagementFacade.addIdPWithResourceId(IdPManagementFacade.java:158)
	at org.wso2.carbon.idp.mgt.dao.CacheBackedIdPMgtDAO.addIdP(CacheBackedIdPMgtDAO.java:601)
	at org.wso2.carbon.idp.mgt.IdentityProviderManager.addResidentIdP(IdentityProviderManager.java:315)
	at org.wso2.carbon.idp.mgt.internal.TenantManagementListener.onTenantCreate(TenantManagementListener.java:51)
	at org.wso2.carbon.tenant.mgt.util.TenantMgtUtil.triggerAddTenant(TenantMgtUtil.java:163)
	at org.wso2.carbon.tenant.mgt.services.TenantMgtImpl.notifyTenantAddition(TenantMgtImpl.java:543)
	at org.wso2.carbon.tenant.mgt.services.TenantMgtImpl.registerTenant(TenantMgtImpl.java:115)
	at org.wso2.carbon.tenant.mgt.services.TenantMgtImpl.addTenant(TenantMgtImpl.java:86)
	at org.wso2.carbon.identity.organization.management.service.OrganizationManagerImpl.createTenant(OrganizationManagerImpl.java:1287)
	at org.wso2.carbon.identity.organization.management.service.OrganizationManagerImpl.addOrganization(OrganizationManagerImpl.java:202)
	at org.wso2.carbon.identity.api.server.organization.management.v1.service.OrganizationManagementService.addOrganization(OrganizationManagementService.java:276)
	at org.wso2.carbon.identity.api.server.organization.management.v1.impl.OrganizationsApiServiceImpl.organizationPost(OrganizationsApiServiceImpl.java:148)
	at org.wso2.carbon.identity.api.server.organization.management.v1.OrganizationsApi.organizationPost(OrganizationsApi.java:206)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201)
	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104)
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265)
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:304)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:217)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:279)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:642)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:416)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:348)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:285)
	at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:174)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
	at org.wso2.carbon.identity.context.rewrite.valve.OrganizationContextRewriteValve.invoke(OrganizationContextRewriteValve.java:123)
	at org.wso2.carbon.tomcat.ext.valves.SameSiteCookieValve.invoke(SameSiteCookieValve.java:38)
	at org.wso2.carbon.identity.cors.valve.CORSValve.invoke(CORSValve.java:83)
	at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:162)
	at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:153)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:110)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:71)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:150)
	at org.wso2.carbon.extension.identity.x509Certificate.valve.X509CertificateAuthenticationValve.invoke(X509CertificateAuthenticationValve.java:59)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
	at org.wso2.carbon.identity.core.context.valve.IdentityContextCreatorValve.invoke(IdentityContextCreatorValve.java:54)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:63)
	at org.wso2.carbon.tomcat.ext.valves.RequestEncodingValve.invoke(RequestEncodingValve.java:49)
	at org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke(RequestCorrelationIdValve.java:137)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:396)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:937)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1793)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
	at java.base/java.lang.Thread.run(Thread.java:829)

Steps to Reproduce

  1. Create a new root organization (other than carbon.super)
  2. Create a new sub-org

While the sub-org creation succeeds, the above-mentioned error can be seen in the terminal logs.

Please select the area issue is related to

B2B

Version

7.2.0-SNAPSHOT

Environment Details (with versions)

No response

Developer Checklist

  • [Behavioural Change] Does this change introduce a behavioral change to the product?
  •  ↳ Approved by team lead
  •  ↳ Label impact/behavioral-change added
  • [Migration Impact] Does this change have a migration impact?
  •  ↳ Migration label added (e.g., 7.2.0-migration)
  •  ↳ Migration issues created and linked
  • [New Configuration] Does this change introduce a new configuration?
  •  ↳ Label config added
  •  ↳ Configuration is properly documented

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions