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

Glassfish et Payara Java Discussion :

Restful List vers XML ? Erreur 500


Sujet :

Glassfish et Payara Java

  1. #1
    Membre à l'essai
    Restful List vers XML ? Erreur 500
    Bonjour,

    Je suis étudiant, et mon professeur m'a envoyé un TP à réaliser avec lequel j'ai une difficulté. J'ai bien trouvé de nombreuses réponses et j'en ai testé plusieurs, mais je pense que je me suis noyé dans l'information.

    Voici le TP d'origine : http://www.lsis.org/sellamis/TP3%20REST.pdf partie 3 (page 3).

    En résumé je dois juste faire un webservice permettant d'ajouter, modifier, supprimer et afficher un étudiant possédant un nom, prénom, date de naissance et afficher une liste de tous les étudiants.
    C'est sur ce dernier point où j'ai du mal. J'ai testé plusieurs solution et j'ai constamment une erreur 500.

    J'arrive très bien à retourner un String, mais dès que je veux retourner le XML : ERROR 500

    En suivant les consignes du TP, j'ai créé
    - une classe Etudiant avec les getter, setter et un constructeur avec les éléments demandé. l'annotation @XmlRootElement
    - une classe ListeEtudiant avec les méthodes d'update, delete, etc... Pas d'annotation. Elle créait la liste des étudiants et la rempli avec quelques données rempli en dur.

    Une classe GenericRessource dont voici le contenu :

    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
    package WSEtudiant;
     
    import java.util.List;
    import javax.ws.rs.DELETE;
    import javax.ws.rs.Path;
    import javax.ws.rs.GET;
    import javax.ws.rs.PathParam;
    import javax.ws.rs.Produces;
    import javax.ws.rs.QueryParam;
    import javax.ws.rs.core.Response;
     
    @Path("/etudiant")
    public class GenericResource {
     
        @GET
        @Produces("text/xml")
        public List<Etudiant> consulterListeEtudiant() {
            System.out.println("consulterListeEtudiant");
            List<Etudiant> etudiants = ListeEtudiant.consultListeEtudiant();
            return etudiants;
        }
     
        @GET
        @Path("/consulterEtudiant/{id}")
        public Response consulterEtudiant(@PathParam("id") int id) {
            Etudiant etudiant = ListeEtudiant.consultEtudiant(id);
            return Response.ok(etudiant).build();
        }
     
        @GET
        @Path("/ajouterEtudiant")
        public void ajouterEtudiant(@QueryParam("nom") String nom, @QueryParam("prenom") String prenom, @QueryParam("dateNaissance") String dateNaissance) {
            ListeEtudiant.ajoutEtudiantdansListe(nom, prenom, dateNaissance);
        }
     
        @DELETE
        @Path("/supprimerEtudiant/{id}")
        public void supprimerEtudiant(@PathParam("id") int id) {
            ListeEtudiant.supprimEtudiant(id);
        }
     
    }



    Pouvez vous m'aider svp ?

    N'hésitez pas à me demander s'il vous faut plus d'information.

  2. #2
    Membre à l'essai
    Ok, j'ai trouvé, voici la méthode dans le service :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @GET
        @Path("consulterListeEtudiant")
        public List<Etudiant> consulterListeEtudiant() {
            List<Etudiant> etudiants = ListeEtudiant.consultListeEtudiant();
            return etudiants;
        }