我正在尝试使用java以编程方式在WSO2中添加租户(即不使用API Manager控制台)。我尝试使用" RemoteTenantManagerService"在管理服务中但它出错:
org.apache.axis2.AxisFault: org.wso2.carbon.user.core.UserStoreException:添加租户时出错 与租户域名:test.com
我启用了调试日志并找到了:
{org.wso2.carbon.user.core.tenant.TenantManager} - 添加错误 租户与租户域名:test.com。 {} org.wso2.carbon.user.core.tenant.TenantManager java.lang.NullPointerException at org.wso2.carbon.user.core.config.RealmConfigXMLProcessor.serialize(RealmConfigXMLProcessor.java:72) 在 org.wso2.carbon.user.core.tenant.JDBCTenantManager.addTenant(JDBCTenantManager.java:109) 在 org.wso2.carbon.um.ws.service.TenantManagerService.addTenant(TenantManagerService.java:41)
有什么建议吗?
答案 0 :(得分:2)
我可以使用服务" TenantMgtAdminService"来解决问题。同时以编程方式添加租户。租户详细信息可以在" TenantInfoBean"中设置。并添加为 - TenantMgtAdminServiceStub.addTenant(TenantInfoBean)。
进口是: org.wso2.carbon.tenant.mgt.stub.TenantMgtAdminServiceStub和org.wso2.carbon.tenant.mgt.stub.beans.xsd.TenantInfoBean。
干杯!! :)
答案 1 :(得分:0)
请尝试使用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>
通过上述我能够成功创建租户