我尝试发布时改造错误500

时间:2017-07-31 15:42:05

标签: android rest retrofit

我尝试将值发布到我的Rest Service,我的问题是知道为什么我有错误500?这是我第一次使用这个框架而且我不知道如何从WebService获得响应...

我告诉你我的错误:

    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)

我使用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;
        }
    }
}

和我的帖子:

@FormUrlEncoded
@POST("/disponibilite")
List PostDisponibilite(@Query("login") String login, @Query("password") String password,
                 @Field("dateDisponibilite") String dateDisponibilite);

我给你休息的帖子:

 @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();
        } 

    }

我使用asyntask:

PostTask postTask =
                    (PostTask) new PostTask()
                            .execute(((MainActivity) getActivity()).getUtilisateur().getLogin(),
                                    ((MainActivity) getActivity()).getUtilisateur().getMotDepasse(),
                                    sdf.format(new Date(calendar.getDate())));

我的问题是如何在我的安卓日志中将我的异常消息发送到我的Rest服务?

500 ERAROR FROM POSTMAN

500 ERROR

1 个答案:

答案 0 :(得分:1)

ERROR 500内部服务器错误表示服务器端存在问题,而不是Android应用程序,请使用POSTMAN link检查您的网络服务