Apache Jersey クライアントを使用して実装された一連の自動化テスト ケースがあります。RESTful Web サービスに対してファイルを削除する 1 つのケースを除いて、すべてが非常にうまく機能します。エラーはしばらく発生し、毎回再現することはできませんが、発生します。
ファイルを削除するために私が持っているコードは、ジャージーでは非常にシンプルで直感的です
Client client = Client.create();
WebResource resource = client.resource(uri);
ClientResponse response = resource.delete(ClientResponse.class);
上記のコードは、uri で指定されたサーバー上のファイルを削除しています。これは、「サーバーがリダイレクトされた回数が多すぎます (20)」エラーが発生した唯一のケースです。合格することもありますが、失敗することもあります。調査を開始するための手がかりを探しています。
私が得た例外は次のとおりです。
com.sun.jersey.api.client.ClientHandlerException: java.net.ProtocolException: Server redirected too many times (20)
com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
com.sun.jersey.api.client.Client.handle(Client.java:648)
com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
com.sun.jersey.api.client.WebResource.delete(WebResource.java:272)
<more my user exceptions are skipped here...>
Caused by: java.net.ProtocolException: Server redirected too many times (20)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1446)
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:240) com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147)
com.sun.jersey.api.client.Client.handle(Client.java:648)
com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
com.sun.jersey.api.client.WebResource.delete(WebResource.java:272)
誰かがヒントをくれることを願っていますか?ありがとう。