1

特定の条件で、次のステータス行で応答を返す API があります。

HTTP/1.1 500 Internal Server Error: An error occurred (23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'name'

結果をキャッチWebApplicationExceptionし、次を使用して理由フレーズを取得しようとしています。

e.getResponse().getStatusInfo().getReasonPhrase()

ただし、これは「Internal Server Error」を返すだけで、あまり役に立ちません。何か問題が発生したときに、より具体的な理由をログに記録できるように、完全な理由フレーズをログに記録したいと思います。

完全なフレーズを取得する方法はありますか? そうでない場合、例外の応答オブジェクトから生の応答を取得する方法はありますか? その後、少なくとも自分で解析してみることができます。

編集:また、本文が空で、適切な情報が他のヘッダーに表示されていないことを確認できます。Fiddlerで生の応答を確認しています。

編集 2: cxf-rt-frontend-jaxrs 2.7.5 を使用しています

4

1 に答える 1