2016-05-23 8 views
1

私はJavaとジャージーを使ってWebサービスをプログラミングしようとしています。最近、私は時々、エラー400レスポンスを作成した後、サーバーから何も返されないことに気付きました。私はジャージーとの400レスポンスを生成しますが、返しません。

たとえば、この関数を使用すると、問題なく201のコードが得られますが、400応答を取得しようとすると、タイムアウトが発生するまで応答を待つことになります。

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces({ MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN }) 
public Response registerUser(String json) { 
    Gson gson = new Gson(); 
    try { 
     RegistryData r = gson.fromJson(json, RegistryData.class); 
     new RegisterValidator().validate(r); 
     // new UserDao().addUser(new User(r)); 
     return Response.ok(gson.toJson(r), MediaType.APPLICATION_JSON).status(Status.CREATED).build(); 
    } catch (JsonSyntaxException e) { 
     e.printStackTrace(); 
     return Response.status(Status.BAD_REQUEST).entity("ERROR: BAD REQUEST").build(); 
    } catch (ValidationException e) { 
     return Response.status(Response.Status.BAD_REQUEST).entity("ERROR: " + e.getMessage()) 
       .type(MediaType.TEXT_PLAIN).build(); 
    } 
} 

私はTomcat 7、Java 7、Jersey 1.19を使用しています。Chrome用のAdvanced Rest Clientプラグインでテストしています。

+0

JsonSyntaxExceptionまたはValidationExceptionを介して返されるときに常に起こるか、または両方で発生するかどうかを言うことができますか? – Fildor

+0

両方とも塞がってしまいます。例外関連のようではありません。 – Robles

答えて

1

このプラグインで同様の問題が発生しました。サーバーがエラーで応答したときに「つまずく」と感じました。

curl(* nixの場合)、RestClient(http://code.fosshub.com/WizToolsorg-RESTClient/downloads)、またはオンラインで見つかる他のツールなどの代替クライアントを試すことができます。

+0

ニースは知っています。以前はそのプラグインを使っていましたが、その動作を見たことはありませんでした。しかしもう一度、それはしばらく前です:) – Fildor

+0

もう一つ試みて、レスポンスを得ました。ありがとう! – Robles

関連する問題