2016-03-02 79 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()); 
相關問題