Bonjour
Voici à quoi ressemble, mon web service
Mon but est de pouvoir afficher sur les boites de dialogues android les messages d'erreurs en provenance de l'EJB (plus précis, car bien contrôlé pour la plus part)!
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 @EJB private ContribuableLocal cl; @POST @Path("/nouveau/contribuable") @Produces("application/json") @Consumes("application/x-www-form-urlencoded") public Contribuable nouveauContribuable( @FormParam("nom") String nom, @FormParam("prenom") String prenom, @FormParam("dateNaissance") String dateN{ try{ DateFormat df = new SimpleDateFormat("dd MMM yyyy HH:mm:ss", Locale.ENGLISH); Date dateNaissance = df.parse(dateN); Contribuable c = cf.create(nom, prenom, dateNaissance); return c; }catch(Exception ex){ throw new WebApplicationException(Response.status(500).entity(ex.getMessage()).build()); } }
Voici ce que je fais pour android
En espérant que le getReasonPhrase() correspondent au message renvoyé plus haut
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 private Handler communication = new Handler() { @Override public void handleMessage(Message msg) { new Information(activity, msg.obj.toString()); } }; Message msg; HttpResponse reponse = AccesWebServie.post(path, postParameters); if(reponse.getStatusLine().getStatusCode() == 200){ msg = communication.obtainMessage(ACCESS_WEB_SERVICE, 0, 0, "OK"); communication.sendMessage(msg); } else{ msg = communication.obtainMessage(ACCESS_WEB_SERVICE, 0, 0, "Echec : "+reponse.getStatusLine().getStatusCode()+"\nRaison"+reponse.getStatusLine().getReasonPhrase()); communication.sendMessage(msg); }
Mais seulement, seul le message habituel s'affiche : Internal Server Error
Quelqu'un aurait-il une façon de faire la chose ?
Partager