IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

Problème avec GWT/Restlet (Datastore GAE) !


Sujet :

GWT et Vaadin Java

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 78
    Points : 46
    Points
    46
    Par défaut Problème avec GWT/Restlet (Datastore GAE) !
    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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Ma classe ExperienceController avait une coquille :-)

    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
    41
    42
    43
    44
     
    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 {
             static
            {
    		ObjectifyService.register(Experience.class);
            }
    	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;
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/02/2015, 23h34
  2. problème avec GWT:did you forget to inherit a required module
    Par riadhhwajdii dans le forum GWT et Vaadin
    Réponses: 10
    Dernier message: 03/02/2010, 15h42
  3. Problème avec les credentials GWT+firefox
    Par jeremy.colombet dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 03/07/2009, 09h59
  4. Problème avec Gwt 1.6
    Par Erazion dans le forum GWT et Vaadin
    Réponses: 8
    Dernier message: 22/04/2009, 17h01
  5. problème avec les composant graphique de gwt-ext
    Par ensienne2008 dans le forum GWT et Vaadin
    Réponses: 9
    Dernier message: 16/09/2008, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo