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 :

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;
	}
}
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
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;
	}
}
3/ ExperienceControllerInterface.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();
}
4/ RestletDispatch.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 servlet.java :

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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!