Example usage for org.springframework.web.client RestClientException getMessage

List of usage examples for org.springframework.web.client RestClientException getMessage

Introduction

In this page you can find the example usage for org.springframework.web.client RestClientException getMessage.

Prototype

@Override
@Nullable
public String getMessage() 

Source Link

Document

Return the detail message, including the message from the nested exception if there is one.

Usage

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";
}