Bonjour à tous,

J'éprouve présentement des problèmes à accéder à une classe EJB d'un autre projet situé/hébergé dans le même container.

Toutes mes applications (environ 10) sont hébergées dans la même instance de jBoss 4.0.4GA. Chaque application est empaquetée dans un EAR.

Voici comment je pourrais illustrer le tout:
- Application #1 (appelons la A1) : application dans laquelle la structure de l'entreprise est gérée (ex: secteurs, postes, etc.)
- Application #2 (appelons la A2) : application de base via laquelle j'aimerais accéder à certaines classes de l'application A1 en temps réel, le tout pour éviter la duplication de données.

Présentement, nous avons un processus de nuit (DTS - Data Transformation Service) qui amène les données de l'application A1 vers la base de données de l'application A2. J'aimerais simplement mettre un terme à ce processus et faire en sorte que l'application A2 puisse se connecter directement en lecture seule sur les classes de l'application A1.

Voici les essais que j'ai fait :
À partir de l'application A2 (ces lignes sont exécutés dans une méthode Action de struts)
InitialContext ctx = new InitialContext();
UserFacadeLocal userFacadeLocal = (UserFacadeLocal) ctx.lookup("ejb/myteam/application1/session/UserFacadeLocal");
System.out.println(userFacadeLocal.toString());

Lorsque je déploie l'application A2 et que je tente d'exécuter le code ci-dessus, je reçois l'erreur suivante:
java.lang.ClassCastException: $Proxy204 cannot be cast to myteam.application2.ejb.session.interfaces.UserFacadeLocal

Je comprend que Java ne puisse pas "caster" la classe provenant de A1 en A2

Dans ma console JMX, voici les informations relatives à la classe User:
| +- application2 (class: org.jnp.interfaces.NamingContext)
| | | +- entity (class: org.jnp.interfaces.NamingContext)
| | | | +- UserLocal (proxy: $Proxy1476 implements interface myteam.application2.ejb.entity.interfaces.UserLocalHome)
| | | +- session (class: org.jnp.interfaces.NamingContext)
| | | | +- UserFacadeLocal (proxy: $Proxy1481 implements interface myteam.application2.ejb.session.interfaces.UserFacadeLocalHome)
| +- application1 (class: org.jnp.interfaces.NamingContext)
| | | +- entity (class: org.jnp.interfaces.NamingContext)
| | | | +- UserLocal (proxy: $Proxy1230 implements interface myteam.application1.ejb.entity.interfaces.UserLocalHome)
| | | +- session (class: org.jnp.interfaces.NamingContext)
| | | | +- UserFacadeLocal (proxy: $Proxy1249 implements interface myteam.application1.ejb.session.interfaces.UserFacadeLocalHome)


Ma question est : Comment faire pour "caster" le tout de façon à pouvoir accéder aux données de l'application A1?

Merci beaucoup pour votre support

Charles