以编程方式在WSO2中添加租户

时间:2016-01-19 09:02:09

标签: wso2 wso2is

我正在尝试使用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)

有什么建议吗?

2 个答案:

答案 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> 

通过上述我能够成功创建租户