Bonjour,
j'espère que j'arriverais à expliquer mon pb clairement:

j'effectue une requête à travers un EJBObject:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
List<DemandIndex> result = demandeRemote.findAllIndexByDate(beginDate, endDate, form.getSelTag());
Tomcat passe la demande "remote" au serveur JONAS et celui-ci exécute la requête afin de récupèrer la liste d'objets demandés:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 
public interface DemandeRemote extends EJBObject {
(...)
public List<DemandeIndex> findAllIndexByDate(Date beginDate, Date endDate, String selTag) throws RemoteException;
}
Ceci est la méthode de l'EJB

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
 
 
public List<DemandeIndex> findAllIndexByDate(Date beginDate, Date endDate, String selTag)throws RemoteException{
logger.info("[DemandeBean] findAllIndexByDate() : ");
List<DemandIndex> result;
try {
DemandeIndexDao demandeIndexDao = new DemandeIndexDao();
result = demandeIndexDao.findAllIndexByDate(beginDate, endDate, selTag);
} catch (CcipHibernateException e) {
e.printStackTrace();
logger.error("[DemandeBean] findAllIndexByDate() : " + e.getMessage());
throw new RemoteException(e.getMessage());
}
return result;
}
le DemandeIndexDao effectue la requête hibernate:

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
 
 
public List<DemandIndex> findAllIndexByDate(Date beginDate, Date endDate, String selTag) throws CcipHibernateException {
Criteria criteria = session.createCriteria(DemandIndex.class);
 
(...)
 
criteria.add(Restrictions.lt(DemandIndex.PROP_DATE, cal.getTime()));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
 
(..)
 
results = (List<DemandeIndex>) criteria.list();
 
return results;
Celle-ci fonctionne puisque elle retourne une liste (avec un objet dans le ca présent) correcte.
Par contre, Tomcat de son côté recoit une liste avec un objet (jusque la ca va) mais ses champs sont à null (ou 0 pour l'id de l'objet)

càd:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
List<DemandIndex> result = demandeRemote.findAllIndexByDate(beginDate, endDate, form.getSelTag());
--> result (1 demandIndex mais les chps de demandeIndex non initialisés/null)

De plus, j'ai une erreur dans Tomcat du type:

CAROL Error:can not load interceptors
java.lang.ClassCastException: org.objectweb.jotm.jta.rmi.JTAInterceptorInitializer
at org.objectweb.carol.rmi.jrmp.interceptor.JInterceptorStore.setRemoteInterceptors(JInterceptorStore.java:167)
at org.objectweb.carol.rmi.jrmp.server.JUnicastRef.readExternal(JUnicastRef.java:322)
at org.objectweb.carol.rmi.jrmp.server.JUnicastRef.readExternal(JUnicastRef.java:292)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at java.rmi.server.RemoteObject.readObject(RemoteObject.java:413)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
at org.objectweb.carol.rmi.jrmp.server.JUnicastRef.performRemoteCall(JUnicastRef.java:202)
at org.objectweb.carol.rmi.jrmp.server.JUnicastRef.invoke(JUnicastRef.java:158)
at org.objectweb.jonas_gen.fr.experian.ccip.core.ejb.demande.JOnASDemandeBean_1980334707Home_Stub.create(Unknown Source)
at fr.experian.ccip.web.demande.index.action.DemandeIndexAction.locate(DemandeIndexAction.java:179)
at fr.experian.ccip.web.demande.index.action.DemandeIndexAction.rechercheList(DemandeIndexAction.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:266)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:167)
at fr.experian.ccip.util.web.CcipDispatchAction.execute(CcipDispatchAction.java:67)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:413)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:225)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Pourtant cette erreur ne semble pas avoir de conséquences sur les autres requêtes du même type de l'application.

Qqun aurait une idée?