List of usage examples for org.springframework.web.client RestClientException getMessage
@Override
@Nullable
public String getMessage()
From source file:com.oneops.controller.cms.CMSClient.java
/** * Commit and deploy release.// w ww .ja v a 2 s.co m * * @param exec the exec * @throws GeneralSecurityException the general security exception */ public void commitAndDeployRelease(DelegateExecution exec) throws GeneralSecurityException { CmsRelease release = (CmsRelease) exec.getVariable("release"); CmsCISimple env = (CmsCISimple) exec.getVariable("env"); logger.info("Committing and deploying manifest release with id = " + release.getReleaseId()); Map<String, String> descMap = new HashMap<String, String>(); descMap.put("description", "oneops autodeploy"); try { @SuppressWarnings("unchecked") Map<String, Long> bomDpmtMap = retryTemplate.execute(retryContext -> restTemplate.postForObject( transUrl + "environments/{envId}/deployments/deploy", descMap, Map.class, env.getCiId())); logger.info("BOM deployment id = " + bomDpmtMap.get("deploymentId")); } catch (RestClientException e) { //should logger.error("Deployment of manifest release " + release.getReleaseId() + " failed with error:\n" + e.getMessage()); } }
From source file:org.cloudfoundry.identity.uaa.login.EmailResetPasswordService.java
@Override public Map<String, String> resetPassword(String code, String newPassword) { try {/*from w w w . j a v a 2s. co m*/ PasswordResetEndpoints.PasswordChange change = new PasswordResetEndpoints.PasswordChange(); change.setCode(code); change.setNewPassword(newPassword); ResponseEntity<Map<String, String>> responseEntity = passwordResetEndpoints.changePassword(change); if (responseEntity.getStatusCode() == HttpStatus.BAD_REQUEST) { throw new UaaException("Invalid password reset request."); } return responseEntity.getBody(); } catch (RestClientException e) { throw new UaaException(e.getMessage()); } }
From source file:org.sipfoundry.sipxconfig.vm.RemoteMailboxManagerImpl.java
private List<Voicemail> retrieveVoicemails(List<Address> ivrRestAddresses, String url, StringBuilder failedAddresses, StringBuilder messages, final Object... urlVariables) { for (Address address : ivrRestAddresses) { try {/*from w w w. j a va 2s . co m*/ Source voicemails = m_restTemplate.getForObject(address + url, Source.class, urlVariables); List<Voicemail> voicemailList = m_xPathTemplate.evaluate("//message", voicemails, new NodeMapper<Voicemail>() { @Override public Voicemail mapNode(Node node, int pos) { return new RemoteVoicemail((Element) node, (String) urlVariables[0], (String) urlVariables[1]); } }); setLastGoodIvrNode(address); return voicemailList; } catch (RestClientException ex) { LOG.debug( "Cannot connect to last good node" + address + " for following reason: " + ex.getMessage()); failedAddresses.append(address).append(LINE_BREAK); messages.append(ex.getMessage()).append(LINE_BREAK); } } throw createUserException(failedAddresses.toString(), messages.toString()); }
From source file:org.sipfoundry.sipxconfig.vm.RemoteMailboxManagerImpl.java
private void putWithFallback(List<Address> addresses, String relativeUri, Object request, StringBuilder failedAddresses, StringBuilder messages, Object... params) { if (!isIvrEnabled()) { return;//from w ww.jav a 2 s. co m } boolean success = false; for (Address address : addresses) { try { m_restTemplate.put(address + relativeUri, request, params); success = true; setLastGoodIvrNode(address); break; } catch (RestClientException ex) { LOG.debug("Cannot connect to node " + address + " for reason: " + ex.getMessage()); failedAddresses.append(address).append(LINE_BREAK); messages.append(ex.getMessage()).append(LINE_BREAK); } } if (!success) { throw createUserException(failedAddresses.toString(), messages.toString()); } }
From source file:pl.orange.labs.mundo.plugins.wms.dao.WmsWebDaoImpl.java
@Override @Cacheable("mundoCache") public WmsCapabilities getCapabilities(final String url) throws WmsException { try {//from w w w . j a v a 2 s.c o m LocalDefaultHttpClient httpClient = new LocalDefaultHttpClient(); ResponseEntity<InputStream> response = httpClient.getHttpResponseInputStream(url, config.getIntValueForConfigVariable(ConfigService.HTTP_DEFAULT_CONNECT_TIMEOUT_KEY), config.getIntValueForConfigVariable(ConfigService.HTTP_DEFAULT_READ_TIMEOUT_KEY), 200); if (LOGGER.isDebugEnabled()) LOGGER.debug("HTTP resppnse receivied " + response.getStatusCode()); InputStream io = response.getBody(); InputStreamEntity entity = new InputStreamEntity(io); String s = EntityUtils.toString(entity, "UTF-8"); StringReader sr = new StringReader(s); XMLInputFactory xif = XMLInputFactory.newInstance(); XMLStreamReader xsr = xif.createXMLStreamReader(sr); JAXBContext jaxcontext = JAXBContext.newInstance(WmsCapabilities.class); Object objRsp = jaxcontext.createUnmarshaller().unmarshal(xsr); if (objRsp instanceof WmsCapabilities) { WmsCapabilities apiResp = (WmsCapabilities) objRsp; return apiResp; } else { LOGGER.error("ERROR - not possible to parse response WmsCapabilities from API resource"); throw new WmsException("Bad response type!"); } } catch (RestClientException ex) { LOGGER.error(ex); if (LOGGER.isDebugEnabled()) LOGGER.debug("WMS: RestClientException", ex); throw new WmsException("Wms Capabilities error: " + ex.getMessage()); } catch (JAXBException ex) { LOGGER.error(ex); if (LOGGER.isDebugEnabled()) LOGGER.debug("WMS: JAXBException", ex); throw new WmsException("Wms Capabilities error: " + ex.getMessage()); } catch (XMLStreamException ex) { LOGGER.error(ex); if (LOGGER.isDebugEnabled()) LOGGER.debug("WMS: XMLStreamException", ex); throw new WmsException("Wms Capabilities error: " + ex.getMessage()); } catch (IOException e) { LOGGER.error(e); if (LOGGER.isDebugEnabled()) LOGGER.debug("WMS: IOException", e); throw new WmsException("Wms Capabilities error: " + e.getMessage()); } catch (ConfigException e) { LOGGER.error(e); if (LOGGER.isDebugEnabled()) LOGGER.debug("WMS: ConfigException", e); throw new WmsException("Wms Capabilities error: " + e.getMessage()); } }
From source file:sg.ncl.MainController.java
/** * For a class project leader to add students to his class using their emails * * @param teamId// w w w . j av a2s .com * @param addMemberForm * @param redirectAttributes * @return * @throws WebServiceRuntimeException */ @RequestMapping(value = "/add_member/{teamId}", method = RequestMethod.POST) public String addMember(@PathVariable String teamId, @Valid AddMemberForm addMemberForm, final RedirectAttributes redirectAttributes) throws WebServiceRuntimeException { log.info("Adding members to team {}", teamId); String[] emails = addMemberForm.getEmails().split("\\r?\\n"); for (int i = 0; i < emails.length; i++) { if (!VALID_EMAIL_ADDRESS_REGEX.matcher(emails[i]).matches()) { redirectAttributes.addFlashAttribute(MESSAGE, EMAIL_ADDRESS_IS_NOT_VALID); return REDIRECT_ADD_MEMBER + "/" + teamId; } } HttpEntity<String> request = createHttpEntityWithBody(addMemberForm.getEmails()); restTemplate.setErrorHandler(new MyResponseErrorHandler()); ResponseEntity responseEntity; try { responseEntity = restTemplate.exchange(properties.addStudentsByEmail(teamId), HttpMethod.POST, request, String.class); } catch (RestClientException e) { log.warn("Error connecting to sio team service for adding members: {}", e); redirectAttributes.addFlashAttribute(MESSAGE, ERR_SERVER_OVERLOAD); return REDIRECT_ADD_MEMBER + "/" + teamId; } if (RestUtil.isError(responseEntity.getStatusCode())) { String responseBody = responseEntity.getBody().toString(); String logPrefix = "Error in adding members to team " + teamId + ": {}"; MyErrorResource error; String reason; try { error = objectMapper.readValue(responseBody, MyErrorResource.class); ExceptionState exceptionState = ExceptionState.parseExceptionState(error.getError()); switch (exceptionState) { case TEAM_NOT_FOUND_EXCEPTION: reason = "Team " + teamId + " is not found."; log.warn(logPrefix, reason); redirectAttributes.addFlashAttribute(MESSAGE, reason); break; case DETERLAB_OPERATION_FAILED_EXCEPTION: log.warn(logPrefix, error.getMessage()); redirectAttributes.addFlashAttribute(MESSAGE, error.getMessage()); break; case USERNAME_ALREADY_EXISTS_EXCEPTION: reason = USER_PREFIX + error.getMessage() + " already exists."; log.warn(logPrefix, reason); redirectAttributes.addFlashAttribute(MESSAGE, reason); break; case USER_ALREADY_IN_TEAM_EXCEPTION: case TEAM_MEMBER_ALREADY_EXISTS_EXCEPTION: reason = USER_PREFIX + error.getMessage() + " is already a member."; log.warn(logPrefix, reason); redirectAttributes.addFlashAttribute(MESSAGE, reason); break; default: log.warn("Error in adding members to team {}: sio or deterlab adapter connection error", teamId); // possible sio or adapter connection fail redirectAttributes.addFlashAttribute(MESSAGE, ERR_SERVER_OVERLOAD); break; } return REDIRECT_ADD_MEMBER + "/" + teamId; } catch (IOException e) { throw new WebServiceRuntimeException(e.getMessage()); } } log.info("Adding members to team {} succeeded", teamId); redirectAttributes.addFlashAttribute(MESSAGE_SUCCESS, "New members have been added successfully!"); return REDIRECT_ADD_MEMBER + "/" + teamId; }
From source file:sg.ncl.MainController.java
@PostMapping("/student_reset_password") public String processResetPasswordStudent( @ModelAttribute("studentPasswordResetForm") StudentPasswordResetForm studentPasswordResetForm) throws WebServiceRuntimeException { if (studentPasswordResetForm.getFirstName().isEmpty() || studentPasswordResetForm.getLastName().isEmpty()) { studentPasswordResetForm.setErrMsg("First name or last name cannot be empty"); return STUDENT_RESET_PSWD; }//from w ww . ja va2s.c o m if (studentPasswordResetForm.getPhone().isEmpty() || studentPasswordResetForm.getPhone().matches("(.*)[a-zA-Z](.*)") || studentPasswordResetForm.getPhone().length() < 6) { studentPasswordResetForm.setErrMsg("Phone is invalid"); return STUDENT_RESET_PSWD; } if (!studentPasswordResetForm.isPasswordOk()) { return STUDENT_RESET_PSWD; } JSONObject obj = new JSONObject(); obj.put(FNAME, studentPasswordResetForm.getFirstName()); obj.put(LNAME, studentPasswordResetForm.getLastName()); obj.put(PHONE, studentPasswordResetForm.getPhone()); obj.put(KEY, studentPasswordResetForm.getKey()); obj.put(PSWD, studentPasswordResetForm.getPassword1()); String uid = studentPasswordResetForm.getUid(); HttpEntity<String> request = createHttpEntityWithBodyNoAuthHeader(obj.toString()); restTemplate.setErrorHandler(new MyResponseErrorHandler()); ResponseEntity responseEntity; try { responseEntity = restTemplate.exchange(properties.changePasswordStudent(uid), HttpMethod.PUT, request, String.class); } catch (RestClientException e) { log.warn("Error connecting to sio for student password reset! {}", e); studentPasswordResetForm.setErrMsg(ERR_SERVER_OVERLOAD); return STUDENT_RESET_PSWD; } String responseBody = responseEntity.getBody().toString(); if (RestUtil.isError(responseEntity.getStatusCode())) { MyErrorResource error; String logPrefix = "Error in password reset for student " + uid + ": {}"; try { error = objectMapper.readValue(responseBody, MyErrorResource.class); ExceptionState exceptionState = ExceptionState.parseExceptionState(error.getError()); switch (exceptionState) { case DETERLAB_OPERATION_FAILED_EXCEPTION: log.warn(logPrefix, error.getMessage()); studentPasswordResetForm.setErrMsg(error.getMessage()); break; case PASSWORD_RESET_REQUEST_TIMEOUT_EXCEPTION: log.warn(logPrefix, "Password reset key timeout"); studentPasswordResetForm .setErrMsg("Password reset request timed out. Please request a new reset email."); break; case INVALID_USERNAME_EXCEPTION: log.warn(logPrefix, "Invalid username"); studentPasswordResetForm.setErrMsg("You must enter a valid first and last name."); break; case INVALID_PASSWORD_EXCEPTION: log.warn(logPrefix, "Password is invalid"); studentPasswordResetForm.setErrMsg("You must supply a valid password."); break; case PASSWORD_RESET_REQUEST_NOT_MATCH_EXCEPTION: log.warn(logPrefix, "Uid and key do not match"); studentPasswordResetForm.setErrMsg("Password reset request does not match with the user."); break; case CREDENTIALS_NOT_FOUND_EXCEPTION: log.warn(logPrefix, "Credentials or key not found"); studentPasswordResetForm.setErrMsg("Credentials or key is not valid."); break; default: log.warn(logPrefix, "Sio or deterlab adapter connection error"); studentPasswordResetForm.setErrMsg(ERR_SERVER_OVERLOAD); } return STUDENT_RESET_PSWD; } catch (IOException e) { throw new WebServiceRuntimeException(e.getMessage()); } } log.info("Password was reset for student {}", uid); studentPasswordResetForm.setSuccessMsg("Password has been reset"); return "password_reset_success"; }