List of usage examples for org.springframework.web.client HttpServerErrorException getResponseHeaders
@Nullable
public HttpHeaders getResponseHeaders()
From source file:com.bose.aem.spring.config.ConfigServicePropertySourceLocator.java
@Override public org.springframework.core.env.PropertySource<?> locate( org.springframework.core.env.Environment environment) { ConfigClientProperties client = this.defaults.override(environment); CompositePropertySource composite = new CompositePropertySource("configService"); RestTemplate restTemplate = this.restTemplate == null ? getSecureRestTemplate(client) : this.restTemplate; Exception error = null;/*from ww w . j a va 2 s . c o m*/ String errorBody = null; //logger.info("Fetching config from server at: " + client.getRawUri()); try { String[] labels = new String[] { "" }; if (StringUtils.hasText(client.getLabel())) { labels = StringUtils.commaDelimitedListToStringArray(client.getLabel()); } // Try all the labels until one works for (String label : labels) { Environment result = getRemoteEnvironment(restTemplate, client.getRawUri(), client.getName(), client.getProfile(), label.trim()); if (result != null) { // logger.info(String.format("Located environment: name=%s, profiles=%s, label=%s, version=%s", // result.getName(), // result.getProfiles() == null ? "" : Arrays.asList(result.getProfiles()), // result.getLabel(), result.getVersion())); for (PropertySource source : result.getPropertySources()) { @SuppressWarnings("unchecked") Map<String, Object> map = (Map<String, Object>) source.getSource(); composite.addPropertySource(new MapPropertySource(source.getName(), map)); } return composite; } } } catch (HttpServerErrorException e) { error = e; if (MediaType.APPLICATION_JSON.includes(e.getResponseHeaders().getContentType())) { errorBody = e.getResponseBodyAsString(); } } catch (Exception e) { error = e; } if (client != null && client.isFailFast()) { throw new IllegalStateException( "Could not locate PropertySource and the fail fast property is set, failing", error); } // logger.warn("Could not locate PropertySource: " // + (errorBody == null ? error == null ? "label not found" : error.getMessage() : errorBody)); return null; }
From source file:es.onebox.rest.utils.service.QueryService.java
/** * Main method to perform request to Onebox REST API. * * @param authenticationForm// w w w . j a v a2 s.c o m * @param queryForm * @return Response form request */ public ResponseDTO query(AuthenticationForm authenticationForm, QueryForm queryForm) { ResponseDTO responseDTO = new ResponseDTO(); Exception ex = null; try { URL url = new URL(queryForm.getUrl()); URI uri = url.toURI(); Date date = new Date(); long timestamp = date.getTime(); HttpMethod httpMethod; if (queryForm.getMethod().equalsIgnoreCase("post")) { httpMethod = HttpMethod.POST; } else { httpMethod = HttpMethod.GET; } // Getting String to encode with HMAC-SHA1 // First step in the signing algorithm String stringToSign = getStringToSign(uri, httpMethod.name(), timestamp, queryForm); logger.info("String to sign: " + stringToSign); // Encoding String // This is the actual authorization string that will be sent in the request String authorization = generate_HMAC_SHA1_Signature(stringToSign, authenticationForm.getPassword() + authenticationForm.getLicense()); logger.info("Authorization string: " + authorization); // Adding to return object responseDTO.setDate(date); responseDTO.setStringToSign(stringToSign); responseDTO.setAuthorization(authorization); // Setting Headers HttpHeaders headers = new HttpHeaders(); if (queryForm.getAccept().equals("json")) { headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); } else { headers.setAccept(Arrays.asList(MediaType.TEXT_XML)); } headers.add("Authorization", authorization); headers.add("OB_DATE", "" + timestamp); headers.add("OB_Terminal", authenticationForm.getTerminal()); headers.add("OB_User", authenticationForm.getUser()); headers.add("OB_Channel", authenticationForm.getChannelId()); headers.add("OB_POS", authenticationForm.getPos()); // Adding Headers to return object responseDTO.setHttpHeaders(headers); HttpEntity<String> entity; if (httpMethod == HttpMethod.POST) { // Adding post parameters to POST body String parameterStringBody = queryForm.getParametersAsString(); entity = new HttpEntity<String>(parameterStringBody, headers); logger.info("POST Body: " + parameterStringBody); } else { entity = new HttpEntity<String>(headers); } // Creating rest client RestTemplate restTemplate = new RestTemplate(); // Converting to UTF-8. OB Rest replies in windows charset. restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8"))); // Performing request to Onebox REST API ResponseEntity<String> result = restTemplate.exchange(uri, httpMethod, entity, String.class); // TODO this functionlity is to map response to objetcs. It is not finished. Only placed here for POC /* if (queryForm.getMapResponse().booleanValue()) { ResponseEntity<EventSearchBean> event = restTemplate.exchange(uri, httpMethod, entity, EventSearchBean.class); } */ // Adding response to return object responseDTO.setResponseEntity(result); logger.debug(result.toString()); } catch (HttpClientErrorException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (MalformedURLException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (SignatureException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (URISyntaxException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (Exception e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.authentication")); } finally { if (ex != null && ex instanceof HttpServerErrorException) { HttpServerErrorException e2 = (HttpServerErrorException) ex; ResponseEntity<String> responseEntity = new ResponseEntity<String>(e2.getResponseHeaders(), HttpStatus.INTERNAL_SERVER_ERROR); List<String> ob_error_codes = e2.getResponseHeaders().get("OB_Error_Code"); String ob_error_code; ResponseErrorCodesEnum ob_error = null; if (ob_error_codes != null && ob_error_codes.size() == 1) { ob_error_code = ob_error_codes.get(0); try { ob_error = ResponseErrorCodesEnum.valueOf("ERROR_" + ob_error_code); } catch (Exception e) { logger.error("API ERROR CODE NOT DEFINED: " + "ERROR_" + ob_error_code); } responseDTO.setObResponseErrorCode(ob_error); } responseDTO.setResponseEntity(responseEntity); } } return responseDTO; }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_01_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_01")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("i.xx.xxx")); // screen capture screenCapture.save(driver);/* ww w . jav a2 s .c o m*/ try { restTemplate.getForEntity(applicationContextUrl + "/exceptionhandling/3_1", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("i.xx.xxx")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_02_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_02")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("w.xx.xxx")); // screen capture screenCapture.save(driver);/* w ww . ja v a 2 s. co m*/ try { restTemplate.getForEntity(applicationContextUrl + "/exceptionhandling/3_2", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("w.xx.xxx")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_03_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_03")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("e.xx.xxx")); // screen capture screenCapture.save(driver);/*from w w w . ja v a 2 s . c o m*/ try { restTemplate.getForEntity(applicationContextUrl + "/exceptionhandling/3_3", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("e.xx.xxx")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_06_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_06")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("e.xx.9999")); // screen capture screenCapture.save(driver);/*w w w . ja v a2s . c o m*/ try { restTemplate.getForEntity( applicationContextUrl + "/exceptionHandlingIgnoreResultMessages/exceptionhandling/3_6", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("e.xx.9999")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_08_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_08")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("e.xx.9999")); // screen capture screenCapture.save(driver);/*from w ww . ja v a 2 s. c o m*/ try { restTemplate.getForEntity( applicationContextUrl + "/exceptionHandlingChangeAttribute/exceptionhandling/3_8", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Error-Code").get(0).toString(), is("e.xx.9999")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_09_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_09")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("e.xx.xxx")); // screen capture screenCapture.save(driver);// w w w . ja va2 s. com try { restTemplate.getForEntity( applicationContextUrl + "/exceptionHandlingChangeAttribute/exceptionhandling/3_9", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Error-Code").get(0).toString(), is("e.xx.xxx")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_05_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_05")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("e.xx.9999")); // Response Code assert assertThat(driver.findElement(By.xpath("//div[@id='messagesPanel']/div/ul/li")).getText(), is("w.yy.yyy")); // screen capture screenCapture.save(driver);// www.j ava 2 s . c om try { restTemplate.getForEntity(applicationContextUrl + "/exceptionhandling/3_5", String.class); } catch (HttpServerErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("e.xx.9999")); // Response Code assert assertThat(e.getStatusCode().toString(), is("500")); } }
From source file:org.springframework.cloud.config.client.AbstractConfigServicePropertyLocator.java
@Override public PropertySource<?> locate(Environment environment) { final ConfigClientProperties client = defaults.override(environment); final CompositePropertySource composite = new CompositePropertySource("configService"); Exception error;//from ww w . ja va2 s . c o m String errorBody = null; try { return tryLocating(client, composite, environment); } catch (HttpServerErrorException e) { error = e; if (MediaType.APPLICATION_JSON.includes(e.getResponseHeaders().getContentType())) { errorBody = e.getResponseBodyAsString(); } } catch (Exception e) { error = e; } if (client != null && client.isFailFast()) { throw new IllegalStateException( "Could not locate PropertySource and the fail fast property is set, failing", error); } logger.error("Could not locate PropertySource: " + (errorBody == null ? error.getMessage() : errorBody)); return null; }