Bonjour tout le monde !!!
après quelques heures de travail en m'inspirant de tutos, j'ai réussi à enregistrer une occurrence dans le datastore (A partir d'une appli android) !!! yehhhbaaaa !!!!
malheureusement ... et oui ... cela ne fonctionne qu'une seule fois !!!
une fois l'appli web déployée sur l'App engine, je ne peux accéder à la page xxxxxx.appspot.com/rest/experience qu'une seule fois (et voir le résultat de mes données) !!! ensuite j'ai le message suivant :
Internal Server Error
You can get technical details here.
Please continue your visit at our home page.
je ne sais pas comment m'y prendre pour faire un debug...
une idée du problème ? :-)
j'ai les 4 fichiers sur la partie serveur :
1/ Container.java :
2/ ExperienceController.java :
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 package com.morey.appli.server; import java.util.ArrayList; import java.util.List; import com.morey.appli.model.Experience; public class Container { public List<Experience> experience_list; public List<Experience> getExperience_list() { return experience_list; } public void setExperience_list(List<Experience> experience_list) { this.experience_list = experience_list; } public Container() { experience_list = new ArrayList<Experience>(); } public Container(List<Experience> experience_list) { this.experience_list = experience_list; } }
3/ ExperienceControllerInterface.java :
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
29
30
31
32
33
34
35
36
37
38
39
40 package com.morey.appli.server; import java.util.ArrayList; import java.util.List; import org.restlet.resource.ServerResource; import com.googlecode.objectify.Objectify; import com.googlecode.objectify.ObjectifyService; import com.googlecode.objectify.Query; import com.morey.appli.model.Experience; public class ExperienceController extends ServerResource implements ExperienceControllerInterface { public ExperienceController() { } @Override public void create(Experience experience) { ObjectifyService.register(Experience.class); Objectify ofy = ObjectifyService.begin(); Experience tp = new Experience(); tp.setPrenom(experience.getPrenom()); tp.setNom(experience.getNom()); tp.setTitre(experience.getTitre()); tp.setCategorie(experience.getCategorie()); tp.setCommentaire(experience.getCommentaire()); tp.setNote(experience.getNote()); ofy.put(tp); } @Override public Container getAllExperiences() { Container content = null; List<Experience> experiences = new ArrayList<Experience>(); ObjectifyService.register(Experience.class); Objectify ofy = ObjectifyService.begin(); Query<Experience> q = ofy.query(Experience.class); for (Experience u : q) experiences.add(u); content = new Container(); content.setExperience_list(experiences); return content; } }
4/ RestletDispatch.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 package com.morey.appli.server; import org.restlet.resource.Get; import org.restlet.resource.Put; import com.morey.appli.model.Experience; public interface ExperienceControllerInterface { @Put void create(Experience experience); @Get Container getAllExperiences(); }
Le fichier servlet.java :
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 package com.morey.appli.server; import org.restlet.Application; import org.restlet.Restlet; import org.restlet.routing.Router; public class RestletDispatch extends Application { @Override public synchronized Restlet createInboundRoot() { final Router router = new Router(getContext()); router.attach("/experience", ExperienceController.class); return router; } }
le fichier web.xml :
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
29
30
31
32
33
34 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"> <context-param> <param-name>org.restlet.application</param-name> <param-value>com.morey.appli.server.RestletDispatch</param-value> </context-param> <servlet> <servlet-name>appli</servlet-name> <servlet-class>com.morey.appli.servlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>appli</servlet-name> <url-pattern>/appli</url-pattern> </servlet-mapping> <servlet> <servlet-name>RestletServlet</servlet-name> <servlet-class> org.restlet.ext.servlet.ServerServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>RestletServlet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <!-- Default page to serve --> <welcome-file-list> <welcome-file>Site.html</welcome-file> </welcome-file-list> </web-app>
Merci pour votre aide !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Partager