2016-03-02 78 views
9

输入结束我称为使用Retrofit2 PATCH web服务但onResponse不叫和onFailure处称为尽管的操作服务是成功的在服务器端完美Retofit2错误java.io.EOFException的:在第1行第1列

何时何地,我试图使用Fiddler检查服务中的工作,我发现问题是序列化的服务来响应,并使用招当我发现没有JSON响应的内容,以便Retrofit服务假定d,它的失败,因为没有内容,它不能序列化空内容 ,给我这个错误

java.io.EOFException: End of input at line 1 column 1 

提琴手原始响应

HTTP/1.1 200 OK 
Server: nginx/1.9.4 
Date: Wed, 02 Mar 2016 09:55:55 GMT 
Content-Type: application/json 
Content-Length: 0 
Connection: close 
Status: 200 OK 
X-Content-Type-Options: nosniff 

提琴手JSON响应为空

java中的webservice

Call<Object> call = TimeCapp.services.accept_invited_alerts(HomeActivity.api_token, alert_id); 

call.enqueue(new Callback<Object>() 
{ 
    @Override 
    public void onResponse (Call<Object> call, Response<Object> response) 
    { 
     if (response.isSuccess()) { 
      String x = response.body(); 
     } 
    } 
    @Override 
    public void onFailure (Call<Object>call, Throwable t) 
    { 
     String x = t.getMessage();//java.io.EOFException: End of input at line 1 column 1 
    } 
} 

我试着用字符串,JSONObject的,emptyCalssBody更换对象 ....但它的失败

web服务

@PATCH("alerts/{alert_id}/accept") 
Call<Object> accept_invited_alerts(@Header("X-Api-Token") String 
api_token, @Path("alert_id") int alert_id); 
+1

只是返回void代替,如果身体空 – Bhargav

+0

我替换void类型的对象类型中的Java代码,并在web服务回归没有改变,感谢您的提示,以便您可以发布答案接受并标记:) @Bhargav –

回答

27

的接口只是返回void相反,如果身体是空

@PATCH("alerts/{alert_id}/accept") Call<Void> accept_invited_alerts(@Header("X-Api-Token") String api_token, @Path("alert_id") int alert_id); 
+0

请更改为@PATCH(“alerts/{alert_id}/accept”)致电 accept_invited_alerts(@Header(“X-Api-Token”)字符串api_token,@Path(“alert_id”)int alert_id) ; @Bhargav –

+0

@MinaFared哎呀谢谢!我忘了它是如何工作的 – Bhargav

+2

耶稣基督请记录这个改造团队!你在浪费我们的时间! –

2

非常感谢你多。

阿比

@FormUrlEncoded 
    @POST("/rebu/insertusuario.php") 
    Call<Void> insertLogin(@Field("email") String email, 
          @Field("senha") String senha, 
          @Field("codCondutor") Long codCondutor); 

Call call = service.insertLogin(login.getEmail(), login.getSenha(), login.getCodCondutor()); 
相关问题