2016-10-27 16 views
0

はジャージー2.22.2の下で実行されているRESTプロキシのこのコードを考えてみて失敗をログに記録しますResponseの下にあるストリームからRESTレスポンスreadEntity(String.class)を介してペイロード

response.bufferEntity()を使用すると、response.readEntity(String.class)を複数回呼び出すことができます(バッファリングは機能しているようです)。しかし、Jerseyから返された応答はゼロバイトの応答を返します。

$ curl -m 5 -i -X POST -d '{"input_values": "abc"}' http://localhost:9000/services/rest/foo 
HTTP/1.1 200 OK 
Date: Thu, 27 Oct 2016 08:18:09 GMT 
Keep-Alive: timeout=20 
X-Type: default 
Server: nginx 
Content-Type: application/json; charset=UTF-8 
Content-Length: 364 

curl: (28) Operation timed out after 5000 milliseconds with 0 out of 364 bytes received 

一部releventのドキュメントはこちらです:Response.readEntity

誰もが有効なResponseを返す前に、Responseの内容をログに記録する方法を私に示していただけますか?

おそらく、ストリームを処理することなく、Responseエンティティを(ストリームを消費することなく)文字列に変換するための考え方がないかもしれません。

答えて

0

私は以前のステータスコードとエンティティに基づいて全く新しいResponseを作成しました。

関連する問題