2017-08-16 1 views
0

Je travaille avec une application multi-locataires dans SAP Cloud Platform. Je reçois une erreur lors de la récupération des détails du locataire:Erreur lors de l'utilisation de l'application SAP Cloud Platform multi-locataires

java.lang.ClassCastException: Impossible de lancer des classes com.sap.cloud.account.impl.TenantContextImpl à l'interface com.sap.cloud.account.TenantContext (trouvé l'interface correspondant com.sap.cloud.account.TenantContext chargé par com.sap.cloud.account

code

qui provoque le problème:

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;   
} 
} 

Je suis c alling une instance de cet appel dans une implémentation de classe "ODataJPAServiceFactory". Un point à noter est que j'ai créé une application JSP simple et le même code fonctionne correctement.

Répondre

0

Résolu le problème. J'ai changé le moteur d'exécution de Java Web en Java EE 6 Web Profile. On dirait que l'API n'est pas disponible dans Java Web.