получить тело неверного запроса httpURLConnection.getInputStream ()

мы работаем над портлетом, который использует веб-службу Restful для получения информации. поэтому, когда я вызываю webservice, и идентификатор человека не существует, он возвращает соответствующее сообщение об ошибке в формате json (с неверным кодом запроса - 400), а если идентификатор лица действителен, возвращает информацию о человеке в json (с кодом 200).

Теперь, как я могу прочитать тело ответа (который содержит описание ошибки), потому что вызывает "httpConn.getInputStream ()» сгенерирует исключение в режиме неверного запроса.

эта часть моего кода:

HttpURLConnection httpConn = null;
URL url = new URL("http://192.168.1.20/personinfo.html?id=30");   
URLConnection connection = url.openConnection();
httpConn = (HttpURLConnection) connection;
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("charset", "utf-8");
System.out.println("befor getInputStream *******");
BufferedReader br = null;
if (!(httpConn.getResponseCode() == 400)) {
     br = new BufferedReader(new InputStreamReader((httpConn.getInputStream())));
     String output;
     StringBuilder builder = new StringBuilder();
     System.out.println("Output from Server .... \n");
     while ((output = br.readLine()) != null) 
          builder.append(output);
     return builder.toString();
}else
   here must detect error message. :)

Ответы на вопрос(3)

Ваш ответ на вопрос