Message cross-posté car je pense l'avoir posté la première fois au mauvais endroit (gklassfish)

Bonjour,

Je me sens tout bête de demander de l'aide.
Je vais essayer d'être le plus exhaustif possible.

Mon objectif est simple : une application EE, doit appeler une BeanSession d'une autre Application EE.

=======

Je travaille sur Netbean 7.1
avec Glassfish server 3.1.2

Dans ma première application :
- Un Bean Entité : LigneBus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
@Entity
public class LigneBus implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String LibelleLigneBus;
...
}
Un Bean Façade associé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Stateless
public class LigneBusFacade extends AbstractFacade<LigneBus> implements LigneBusFacadeLocal {
    @PersistenceContext(unitName = "Societe_Transport_Routier-ejbPU")
    private EntityManager em;
 
    @Override
    protected EntityManager getEntityManager() {
        return em;
    }
 
    public LigneBusFacade() {
        super(LigneBus.class);
    }
 
    @Override
    public LigneBus CreationLigneBus(String LibelleLigneBus) {
        LigneBus LB=new LigneBus();
        LB.setLibelleLigneBus(LibelleLigneBus);
        em.persist(LB);
        return LB;
    }
 
}
remarque :Ce beanFacade implémente la facade locale, ce qui ne pose pas de soucis.

Un BeanSession : c'est donc lui que j'aimerai pouvoir invoquer depuis depuis une autre application. Il est donc remote.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
@Stateful
public class STR_BS_General implements STR_BS_GeneralRemote {
 
    @Override
    public LigneBus CreationLigneBus(String LibelleLigneBus) {
        return null;
    }
 
}
Elle implémente donc STR_BS_GeneralRemote qui est dans ma deuxième application.

Voici le code du STR_BS_GeneralRemote :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
@Remote
public interface STR_BS_GeneralRemote {
 
    Entite.LigneBus CreationLigneBus(String LibelleLigneBus);
 
}
Dans ma deuxième application EE, je veux invoquer dans une servlet par exemple les business méthodes pour créer une ligne de bus.

==============================
Problème :
- Si dans le projet 1, celui qui contient le beanEntité/Facade/BeanSession
je référence le mon deuxième projet (qui lui contient l'interface remote), pas de soucis pour le projet 1. Par contre, dans la deuxième application, l'interface remote ne connait pas l'entité "LigneBus" de l'application 1 ! Donc pas possible de déployer.
- Si je référence le projet 1 à partir du projet 2. Il me dit "Impossible d'ajouter des références Cyclique" !
- Si je retire la référence du projet 2 dans le projet 1, je peux référencer le projet 1 dans le projet 2. Mais là, c'est le BeanSession qui pose problème car il ne sait pas où chercher l'interface emote qu'il implémente.

=> bref, je suis coincé.

Je suis preneur de toute aide.

Merci d'avance.
Je reste avec le navigateur allumé pour rajouter des infos si nécessaires le plus rapidement possible.