以编程方式在 WSO2 中添加租户
Adding Tenant in WSO2 programmatically
我正在尝试使用 java(即不使用 API 管理器控制台)以编程方式在 WSO2 中添加租户。我尝试在管理服务中使用 "RemoteTenantManagerService",但出现错误:
org.apache.axis2.AxisFault:
org.wso2.carbon.user.core.UserStoreException: Error in adding tenant
with tenant domain: test.com
我启用了调试日志并发现:
{org.wso2.carbon.user.core.tenant.TenantManager} - Error in adding
tenant with tenant domain: test.com.
{org.wso2.carbon.user.core.tenant.TenantManager}
java.lang.NullPointerException at
org.wso2.carbon.user.core.config.RealmConfigXMLProcessor.serialize(RealmConfigXMLProcessor.java:72)
at
org.wso2.carbon.user.core.tenant.JDBCTenantManager.addTenant(JDBCTenantManager.java:109)
at
org.wso2.carbon.um.ws.service.TenantManagerService.addTenant(TenantManagerService.java:41)
有什么建议吗?
请尝试使用 https://localhost:9443/services/TenantMgtService?wsdl 作为 WSDL
注意:在使用管理服务之前,您需要设置
<HideAdminServiceWSDLs>false</HideAdminServiceWSDLs> in carbon.xml
(文件位于:/repository/conf/carbon.xml
下面给出了我的示例肥皂信封,
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.mgt.tenant.carbon.wso2.org" xmlns:xsd="http://beans.common.stratos.carbon.wso2.org/xsd">
<soap:Header/>
<soap:Body>
<ser:registerTenantForTrustedUser>
<ser:tenantInfoBean>
<xsd:active>true</xsd:active>
<xsd:admin>admin</xsd:admin>
<xsd:adminPassword>admin</xsd:adminPassword>
<xsd:email>channa@abc.com</xsd:email>
<xsd:firstname>Channa</xsd:firstname>
<xsd:lastname>E</xsd:lastname>
<xsd:tenantDomain>abc.test.com</xsd:tenantDomain>
<xsd:tenantId>-1</xsd:tenantId>
</ser:tenantInfoBean>
</ser:registerTenantForTrustedUser>
</soap:Body>
</soap:Envelope>
通过以上我能够成功创建租户
我能够在以编程方式添加租户时使用服务 "TenantMgtAdminService" 解决问题。租户详细信息可以在 "TenantInfoBean" 中设置并添加为 - TenantMgtAdminServiceStub.addTenant(TenantInfoBean).
进口是:
org.wso2.carbon.tenant.mgt.stub.TenantMgtAdminServiceStub 和 org.wso2.carbon.tenant.mgt.stub.beans.xsd.TenantInfoBean.
干杯!! :)
我正在尝试使用 java(即不使用 API 管理器控制台)以编程方式在 WSO2 中添加租户。我尝试在管理服务中使用 "RemoteTenantManagerService",但出现错误:
org.apache.axis2.AxisFault: org.wso2.carbon.user.core.UserStoreException: Error in adding tenant with tenant domain: test.com
我启用了调试日志并发现:
{org.wso2.carbon.user.core.tenant.TenantManager} - Error in adding tenant with tenant domain: test.com. {org.wso2.carbon.user.core.tenant.TenantManager} java.lang.NullPointerException at org.wso2.carbon.user.core.config.RealmConfigXMLProcessor.serialize(RealmConfigXMLProcessor.java:72) at org.wso2.carbon.user.core.tenant.JDBCTenantManager.addTenant(JDBCTenantManager.java:109) at org.wso2.carbon.um.ws.service.TenantManagerService.addTenant(TenantManagerService.java:41)
有什么建议吗?
请尝试使用 https://localhost:9443/services/TenantMgtService?wsdl 作为 WSDL
注意:在使用管理服务之前,您需要设置
<HideAdminServiceWSDLs>false</HideAdminServiceWSDLs> in carbon.xml
(文件位于:/repository/conf/carbon.xml
下面给出了我的示例肥皂信封,
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.mgt.tenant.carbon.wso2.org" xmlns:xsd="http://beans.common.stratos.carbon.wso2.org/xsd">
<soap:Header/>
<soap:Body>
<ser:registerTenantForTrustedUser>
<ser:tenantInfoBean>
<xsd:active>true</xsd:active>
<xsd:admin>admin</xsd:admin>
<xsd:adminPassword>admin</xsd:adminPassword>
<xsd:email>channa@abc.com</xsd:email>
<xsd:firstname>Channa</xsd:firstname>
<xsd:lastname>E</xsd:lastname>
<xsd:tenantDomain>abc.test.com</xsd:tenantDomain>
<xsd:tenantId>-1</xsd:tenantId>
</ser:tenantInfoBean>
</ser:registerTenantForTrustedUser>
</soap:Body>
</soap:Envelope>
通过以上我能够成功创建租户
我能够在以编程方式添加租户时使用服务 "TenantMgtAdminService" 解决问题。租户详细信息可以在 "TenantInfoBean" 中设置并添加为 - TenantMgtAdminServiceStub.addTenant(TenantInfoBean).
进口是: org.wso2.carbon.tenant.mgt.stub.TenantMgtAdminServiceStub 和 org.wso2.carbon.tenant.mgt.stub.beans.xsd.TenantInfoBean.
干杯!! :)