Bonjour,
j'essaie de faire un appel RPC via GWT. J'essaie de transférer une liste de type qui étend BaseModel (hérité de la lib GXT) pour charger un tableau (cet exemple là : http://www.sencha.com/examples/exp [...] ckgrouping).
Mon problème, c'est au déploiement sur tomcat, il me sort un NoClassDefFound sur BaseModel:
Code :
- 5 juil. 2010 11:52:09 org.apache.catalina.core.ApplicationContext log
- GRAVE: Exception while dispatching incoming RPC call
- java.lang.NoClassDefFoundError: com/extjs/gxt/ui/client/data/BaseModel
- at java.lang.ClassLoader.defineClass1(Native Method)
- at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
- at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
- at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
- at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2527)
- at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1010)
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1483)
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
- at java.lang.Class.forName0(Native Method)
- at java.lang.Class.forName(Class.java:247)
- at com.google.gwt.user.server.rpc.SerializationPolicyLoader.loadFromStream(SerializationPolicyLoader.java:196)
- at com.google.gwt.user.server.rpc.RemoteServiceServlet.loadSerializationPolicy(RemoteServiceServlet.java:89)
- at com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolicy(RemoteServiceServlet.java:251)
- at com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy(RemoteServiceServlet.java:139)
- at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:445)
- at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:236)
- at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:186)
- at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
- at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
- at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
- at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
- at java.lang.Thread.run(Thread.java:619)
- Caused by: java.lang.ClassNotFoundException: com.extjs.gxt.ui.client.data.BaseModel
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
- ... 33 more
|
Cela marche pourtant quelques fois (par magie???), le retour s'insère correctement dans le tableau. Je modifie le code de mon implémentation de service -> il m'envoie paitre et quand je reviens à mon code originel, ça fonctionne plus non plus
Voici le code du service, au cas où...
Code :
- package com.clubber.ihm.server;
- import com.google.gwt.user.server.rpc.RemoteServiceServlet;
- import com.clubber.ihm.client.bean.Lot;
- import com.clubber.ihm.client.rpc.LivraisonServices;
- import java.util.Date;
- import java.util.LinkedList;
- import java.util.List;
- /**
- * Implémentation des services de livraison.
- * @author moi
- */
- public class LivraisonServicesImpl extends RemoteServiceServlet implements LivraisonServices {
- @Override
- public List<Lot> getLots() {
- //return LivraisonControleur.getInstance().getLots();
- List<Lot> resultat = new LinkedList<Lot>();
- resultat.add(new Lot("lot1", new Date(), "QL", "demande1" ));
- return resultat;
- }
- }
|
J'allais oublier, je compile le tout sous maven, avec les derniers plugins en date, le tout sous Netbeans.
Donc si un mage passe par là, merci de m'aider...
Message édité par Le_Clubber le 05-07-2010 à 14:20:43