Bonjour, c'est la première fois que je poste ici pour poser une question
Je vous explique le contexte : Je dois développer une application Java EE, en me servant de Glassfish, des EJB3, Toplink JPA pour la persistance et de Struts.
J'ai deux types d'EJB, les Entity et les Session, les Session étant tous déclarés en @Remote pour pouvoir être accédés depuis l'extérieur (client Swing). Tout fonctionne correctement pour le client lourd, qui se connecte sans problème au serveur et récupère les EJB. L'application web y arrive aussi, mais je rencontre un problème quand les arguments des méthodes sont des Entity.
Par exemple :
fonctionne sur le client lourd et l'appli web, mais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public MonEntite insertMonEntite(String valeur) { .... }
fonctionne sur le client lourd et pas l'appli web. J'ai le droit à cette exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public MonEntite insertMonEntite(MonEntite monEntite) { .... }
Sur le serveur, les EJB sont déployés dans un jar et l'appli web dans un war. J'ai vraiment cherché longtemps, sans trouver, ne sachant pas vraiment comment exprimer mon problème... Pourtant j'ai bien inclus les librairies Toplink dans l'appli web, ainsi que les EJB... D'ailleurs ce que je ne comprends pas, c'est que l'appli web arrive très bien à récupérer des EJB Entity mais pas à les envoyer.
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
24
25
26
27
28 "IOP00810257: (MARSHAL) Could not load class MonEntite" javax.servlet.ServletException: javax.ejb.EJBException: nested exception is: java.rmi.MarshalException: CORBA MARSHAL 1398079745 Maybe; nested exception is: org.omg.CORBA.MARSHAL: ----------BEGIN server-side stack trace---------- org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 257 completed: Maybe at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:9684) at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:9699) at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1042) at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:896) at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:466) at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:296) at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:610) at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:748) at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:406) at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:504) at com.sun.corba.ee.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:690) at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:359) at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:328) at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966) at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052) at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475) at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1974) at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2199) at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1211) at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:422) ...
Merci d'avance à ceux qui sauront m'aider !
Killian
Partager