J'essaie de poster une valeur à mon service de repos, mon problème est de savoir pourquoi j'ai une erreur 500? Il est la première fois avec ce cadre et je ne sais pas comment avoir réponse de WebService ...Retrofit Erreur 500 lorsque j'essaie de poster
Je vous donne mon erreur:
jplanningandroid.ejplanningandroid W/System.err: retrofit.RetrofitError: 500
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:388)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:240)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at java.lang.reflect.Proxy.invoke(Proxy.java:393)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at $Proxy0.PostDisponibilite(Unknown Source)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at ejplanningandroid.ejplanningandroid.Class.PostTask.doInBackground(PostTask.java:28)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at ejplanningandroid.ejplanningandroid.Class.PostTask.doInBackground(PostTask.java:16)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
07-31 12:18:43.648 28828-28927/ejplanningandroid.ejplanningandroid W/System.err: at java.lang.Thread.run(Thread.java:818)
Je posterai mes données avec un AsyncTask:
public class PostTask extends AsyncTask<String,Void,List<String>> {
@Override
protected List<String> doInBackground(String... params) {
try {
InterfaceService interfaceService = new RestAdapter.Builder()
.setEndpoint(InterfaceService.path).build()
.create(InterfaceService.class);
String login = params[0];
String pass = params[1];
String date = params[2];
List<String> post = interfaceService.PostDisponibilite(login, pass,date);
return post;
}catch (RetrofitError retrioftError){
retrioftError.printStackTrace();
return null;
}
}
}
et mon poste:
@FormUrlEncoded
@POST("/disponibilite")
List PostDisponibilite(@Query("login") String login, @Query("password") String password,
@Field("dateDisponibilite") String dateDisponibilite);
Je vous donne mon poste de repos:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addisponibilite(@QueryParam("login") String login,
@QueryParam("password") String password, String dateDisponibilite) {
try {
Utilisateur utilisateur = UtilisateurMapper.getByPseudoAndMDP(login.trim(), password.trim());
if (utilisateur.getLogin() != null) {
Disponibilite disponibilite = new Disponibilite();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date dateFormater = format.parse(dateDisponibilite);
disponibilite.setDate(dateFormater);
mapper.add(disponibilite);
UtilisateurDisponibilite utilisateurDisponibilite = new UtilisateurDisponibilite();
utilisateurDisponibilite.setUtilisateur(utilisateur);
utilisateurDisponibilite.setDisponibilite(disponibilite);
utilisateurDisponibiliteMapper.add(utilisateurDisponibilite);
return Response.status(Response.Status.CREATED).entity(disponibilite).build();}
else {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(
new MessageServiceErreur("Vous devez être connecté pour accéder au service")).build();
}
} catch (IllegalStateMessage exception) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(
new MessageServiceErreur(dateDisponibilite)).build();
} catch (ParseException ex) {
Logger.getLogger(DisponibiliteService.class.getName()).log(Level.SEVERE, null, ex);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(
new MessageServiceErreur(dateDisponibilite+" PArse error")).build();
}
}
-je utiliser mon asyntask avec:
PostTask postTask =
(PostTask) new PostTask()
.execute(((MainActivity) getActivity()).getUtilisateur().getLogin(),
((MainActivity) getActivity()).getUtilisateur().getMotDepasse(),
sdf.format(new Date(calendar.getDate())));
Ma question est Comment puis-je mon message d'exception envoyer à mon service dans mon journal Reste android?
500 ERREUR DE POSTMAN
Oui mais mon webservice envoie une réponse avec comment je peux l'avoir dans mon journal Android? –
Dans l'homme de poste j'ai une erreur 500 avec aucun message –
ajoutez votre message l'homme a renvoyé l'erreur image –