使用多租户SAP Cloud Platform应用程序时出错

时间:2017-08-16 12:48:14

标签: java jpa odata sap

我正在使用SAP Cloud Platform中的多租户应用程序。我在获取租户详细信息时遇到错误:

  

java.lang.ClassCastException:无法强制转换类   接口的com.sap.cloud.account.impl.TenantContextImpl   com.sap.cloud.account.TenantContext(找到匹配的界面   由com.sap.cloud.account加载的com.sap.cloud.account.TenantContext

导致问题的代码:

public class TenantContextManager
{

public TenantContextManager() {
    // TODO Auto-generated constructor stub
}

public String getCurrentAccountId() throws ServletException {
    String currentAccountId;        
    try {
        InitialContext ctx = new InitialContext();
        TenantContext tenantctx = (TenantContext) ctx.lookup("java:comp/env/TenantContext");                

        currentAccountId = tenantctx.getTenant().getAccount().getId();                  

    } catch (Exception e) {
        throw new RuntimeException(e);
    }               
    return currentAccountId;        
}
}

我在" ODataJPAServiceFactory"中呼叫此呼叫的实例类实现。

值得注意的是,我创建了一个简单的JSP应用程序,并且相同的代码工作正常。

1 个答案:

答案 0 :(得分:0)

解决了这个问题。我将运行时从Java Web更改为Java EE 6 Web Profile。看起来这个API在Java Web中不可用。