最新の Volley ライブラリを使用していますが、API が 204 を返し、応答に本文がない場合に問題が発生します。BasicNetwork.java の次のコードが期待どおりに動作していないようです。
// Some responses such as 204s do not have content. We must check.
if (httpResponse.getEntity() != null) {
responseContents = entityToBytes(httpResponse.getEntity());
} else {
// Add 0 byte response as a way of honestly representing a
// no-content request.
responseContents = new byte[0];
}
getEntity の結果が null になることはありませんが、空です。curl と postman をチェックして、自分の API が何も返していないことを確認しました (私が夢中にならないようにするためです)。他の誰かがそのような問題を抱えていますか?
今のところ、if を次のように変更しました。
if (statusCode != HttpStatus.SC_NO_CONTENT && httpResponse.getEntity() != null)
根本的な原因を解決していないことはわかっていますが、この問題を深く掘り下げる前に、明らかなことを見逃していないことを確認したいと思います。
ありがとう!
編集: 申し訳ありませんが、実際の問題は、メソッド entityToBytes でタイムアウト例外が発生することであることに言及するのを忘れていました。取得するボディがないため、これは奇妙です。
また、まだ利用できないため、実際に完全に機能する Web サービス API は使用していません。代わりに、養蜂場でモックアウトされた Web サービスに接続していますが、養蜂場がどのように問題になるかわかりません。