2013-07-03 61 views
3

我正在使用Android Galaxy S3(/ Nexus 7)設備上的翻新庫對運行Struts2的tomcat服務器進行POST調用。 POST調用失敗。 tomcat日誌顯示套接字超時異常。Android翻新導致套接字超時異常

使用通過curl完成的完全相同的標頭的相同POST沒有任何問題。我確認了使用charles proxy的電話數據匹配。

調試此問題的任何提示/想法。

的後調用如下

@POST(Constants.URL_GET_ORDER_LIST_BASE) 
    void getCardOrderList(@Body GetOrderListRequest getOrderListRequest, Callback<GetOrderListResponse> cbGetOrderListResponse); 

請讓我知道,如果我需要增加更多的信息,解釋這更好的。

回答

2

將Square的OKHTTP庫添加到libs文件夾中解決了問題。

+0

我有超時問題使用改裝庫的每個替代POST調用。從固定的問題添加OKHTTP jar文件。謝謝! – nous

+0

不好回答!我有同樣的問題,我不知道如何繼續。請詳細說明包含庫的步驟(jar文件?gradle依賴關係?)。 請填寫您的答案。 -1 – voghDev

1

我也有SocketTimeoutExceptions。請注意始終將最後的斜槓添加到POST調用中。

例子:

BAD

@POST("/customers") 

GOOD

@POST("/customers/") 

我的錯誤是眼前這個:)

+0

我經常超時。看到你的答案並添加最後的斜線後,似乎問題消失了。你能解釋一下嗎?爲什麼添加最後的斜線很重要? –

+0

請參閱http://programmers.stackexchange.com/a/187006 最後一個斜槓是列表響應的指示器(沒有什麼是必需的)。我不明白爲什麼它會影響超時錯誤的頻率。 –

+1

GET請求怎麼樣? –