.getElementsByTagNameNS(JerseyServices.ERROR_NS, "status").item(0).getTextContent()); failure.setMessageCode(doc .getElementsByTagNameNS(JerseyServices.ERROR_NS, "message-code").item(0).getTextContent());
failure.setMessageCode( messageCodes.item(0).getTextContent() );
@SuppressWarnings("unchecked") @Override public FailedRequest parseFailedRequest(int httpStatus, InputStream content) { FailedRequest failure = new FailedRequest(); ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally Map<String, Map<String, String>> errorData; try { errorData = mapper.readValue(content, Map.class); Map<String, String> errorBody = errorData.get("errorResponse"); failure.setStatusCode(httpStatus); failure.setStatusString(errorBody.get("status")); failure.setMessageCode(errorBody.get("messageCode")); failure.setMessageString(errorBody.get("message")); failure.setStackTrace(errorBody.get("stackTrace")); } catch (JsonParseException e1) { failure.setStatusCode(httpStatus); failure.setMessageString("Request failed. Error body not received from server"); } catch (JsonMappingException e1) { failure.setStatusCode(httpStatus); failure.setMessageString("Request failed. Error body not received from server"); } catch (IOException e1) { failure.setStatusCode(httpStatus); failure.setMessageString("Request failed. Error body not received from server"); } return failure; } }
@SuppressWarnings("unchecked") public FailedRequest parseFailedRequest(int httpStatus, InputStream content) { FailedRequest failure = new FailedRequest(); ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally Map<String, Map<String, String>> errorData; try { errorData = mapper.readValue(content, Map.class); Map<String, String> errorBody = errorData.get("error"); failure.setStatusCode(httpStatus); failure.setStatusString(errorBody.get("status")); failure.setMessageCode(errorBody.get("message-code")); failure.setMessageString(errorBody.get("message")); } catch (JsonParseException e1) { failure.setStatusCode(httpStatus); failure.setMessageString("Request failed. Error body not received from server"); } catch (JsonMappingException e1) { failure.setStatusCode(httpStatus); failure.setMessageString("Request failed. Error body not received from server"); } catch (IOException e1) { failure.setStatusCode(httpStatus); failure.setMessageString("Request failed. Error body not received from server"); } return failure; } }
failure = new FailedRequest(); failure.setStatusCode(httpStatus); failure.setMessageCode("UNKNOWN"); failure.setMessageString("Server (not a REST instance?) did not respond with an expected REST Error message."); failure.setStatusString("UNKNOWN");
failure = new FailedRequest(); failure.setStatusCode(statusCode); failure.setMessageCode("UNKNOWN"); failure.setMessageString("Server did not respond with an expected Error message."); failure.setStatusString("UNKNOWN");
public static FailedRequest getFailedRequest(int httpStatus, MediaType contentType, InputStream content) { FailedRequest failure; // by default XML is supported if (contentType.equals(MediaType.APPLICATION_XML_TYPE)) { FailedRequestParser xmlParser = new FailedRequestXMLParser(); failure = xmlParser.parseFailedRequest(httpStatus, content); } else if (contentType.equals(MediaType.APPLICATION_JSON_TYPE)) { failure = jsonFailedRequest(httpStatus, content); } else { failure = new FailedRequest(); failure.setStatusCode(httpStatus); failure.setMessageCode("UNKNOWN"); failure.setMessageString("Server (not a REST instance?) did not respond with an expected REST Error message."); failure.setStatusString("UNKNOWN"); } if (failure.getStatusCode() == 401) { failure.setMessageString("Unauthorized"); failure.setStatusString("Failed Auth"); } return failure; }