List of usage examples for org.springframework.web.client HttpClientErrorException getResponseHeaders
@Nullable
public HttpHeaders getResponseHeaders()
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_07_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_07")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("w.xx.0001")); // screen capture screenCapture.save(driver);//from w ww. ja va 2 s . c o m try { restTemplate.getForEntity(applicationContextUrl + "/exceptionhandling/3_7", String.class); } catch (HttpClientErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("w.xx.0001")); // Response Code assert assertThat(e.getStatusCode().toString(), is("404")); } }
From source file:org.terasoluna.gfw.functionaltest.app.exceptionhandling.ExceptionHandlingTest.java
@Test public void test03_10_servletFrameworkHandling() { driver.findElement(By.id("servletFrameworkHandling_03_10")).click(); // TODO Assert Output Log // Error Code assert assertThat(driver.findElement(By.id("exceptionCode")).getText(), is("i.xx.0010")); // screen capture screenCapture.save(driver);// w w w .ja v a 2 s . co m try { restTemplate.getForEntity(applicationContextUrl + "/exceptionhandling/3_10", String.class); } catch (HttpClientErrorException e) { // Response Header Error Code assert assertThat(e.getResponseHeaders().get("X-Exception-Code").get(0).toString(), is("i.xx.0010")); // Response Code assert assertThat(e.getStatusCode().toString(), is("409")); } }
From source file:org.bytesoft.bytejta.supports.springcloud.SpringCloudCoordinator.java
public Object invokePostCoordinator(Object proxy, Method method, Object[] args) throws Throwable { Class<?> returnType = method.getReturnType(); try {// w w w. j a v a 2 s .c om RestTemplate transactionRestTemplate = SpringCloudBeanRegistry.getInstance().getRestTemplate(); RestTemplate restTemplate = transactionRestTemplate == null ? new RestTemplate() : transactionRestTemplate; StringBuilder ber = new StringBuilder(); int firstIndex = this.identifier.indexOf(":"); int lastIndex = this.identifier.lastIndexOf(":"); String prefix = firstIndex <= 0 ? null : this.identifier.substring(0, firstIndex); String suffix = lastIndex <= 0 ? null : this.identifier.substring(lastIndex + 1); ber.append("http://"); ber.append(prefix == null || suffix == null ? null : prefix + ":" + suffix); ber.append("/org/bytesoft/bytejta/"); ber.append(method.getName()); for (int i = 0; i < args.length; i++) { Serializable arg = (Serializable) args[i]; ber.append("/").append(this.serialize(arg)); } ResponseEntity<?> response = restTemplate.postForEntity(ber.toString(), null, returnType, new Object[0]); return response.getBody(); } catch (HttpClientErrorException ex) { throw new XAException(XAException.XAER_RMFAIL); } catch (HttpServerErrorException ex) { // int statusCode = ex.getRawStatusCode(); HttpHeaders headers = ex.getResponseHeaders(); String failureText = StringUtils.trimToNull(headers.getFirst("failure")); String errorText = StringUtils.trimToNull(headers.getFirst("XA_XAER")); Boolean failure = failureText == null ? null : Boolean.parseBoolean(failureText); Integer errorCode = null; try { errorCode = errorText == null ? null : Integer.parseInt(errorText); } catch (Exception ignore) { logger.debug(ignore.getMessage()); } if (failure != null && errorCode != null) { throw new XAException(errorCode); } else { throw new XAException(XAException.XAER_RMERR); } } catch (Exception ex) { throw new XAException(XAException.XAER_RMERR); } }
From source file:org.bytesoft.bytejta.supports.springcloud.SpringCloudCoordinator.java
public Object invokeGetCoordinator(Object proxy, Method method, Object[] args) throws Throwable { Class<?> returnType = method.getReturnType(); try {/*from w w w . j a v a2 s .c om*/ RestTemplate transactionRestTemplate = SpringCloudBeanRegistry.getInstance().getRestTemplate(); RestTemplate restTemplate = transactionRestTemplate == null ? new RestTemplate() : transactionRestTemplate; StringBuilder ber = new StringBuilder(); int firstIndex = this.identifier.indexOf(":"); int lastIndex = this.identifier.lastIndexOf(":"); String prefix = firstIndex <= 0 ? null : this.identifier.substring(0, firstIndex); String suffix = lastIndex <= 0 ? null : this.identifier.substring(lastIndex + 1); ber.append("http://"); ber.append(prefix == null || suffix == null ? null : prefix + ":" + suffix); ber.append("/org/bytesoft/bytejta/"); ber.append(method.getName()); for (int i = 0; i < args.length; i++) { Serializable arg = (Serializable) args[i]; ber.append("/").append(this.serialize(arg)); } ResponseEntity<?> response = restTemplate.getForEntity(ber.toString(), returnType, new Object[0]); return response.getBody(); } catch (HttpClientErrorException ex) { throw new XAException(XAException.XAER_RMFAIL); } catch (HttpServerErrorException ex) { // int statusCode = ex.getRawStatusCode(); HttpHeaders headers = ex.getResponseHeaders(); String failureText = StringUtils.trimToNull(headers.getFirst("failure")); String errorText = StringUtils.trimToNull(headers.getFirst("XA_XAER")); Boolean failure = failureText == null ? null : Boolean.parseBoolean(failureText); Integer errorCode = null; try { errorCode = errorText == null ? null : Integer.parseInt(errorText); } catch (Exception ignore) { logger.debug(ignore.getMessage()); } if (failure != null && errorCode != null) { throw new XAException(errorCode); } else { throw new XAException(XAException.XAER_RMERR); } } catch (Exception ex) { throw new XAException(XAException.XAER_RMERR); } }
From source file:org.bytesoft.bytetcc.supports.springcloud.SpringCloudCoordinator.java
public Object invokePostCoordinator(Object proxy, Method method, Object[] args) throws Throwable { Class<?> returnType = method.getReturnType(); try {//w w w . ja va2 s.c o m int firstIndex = this.identifier.indexOf(":"); int lastIndex = this.identifier.lastIndexOf(":"); String prefix = firstIndex <= 0 ? null : this.identifier.substring(0, firstIndex); String suffix = lastIndex <= 0 ? null : this.identifier.substring(lastIndex + 1); String instanceId = prefix == null || suffix == null ? null : prefix + ":" + suffix; StringBuilder ber = new StringBuilder(); ber.append("http://"); ber.append(instanceId); ber.append("/org/bytesoft/bytetcc/"); ber.append(method.getName()); for (int i = 0; i < args.length; i++) { Serializable arg = (Serializable) args[i]; ber.append("/").append(this.serialize(arg)); } ResponseEntity<?> response = new RestTemplate().postForEntity(ber.toString(), null, returnType, new Object[0]); return response.getBody(); } catch (HttpClientErrorException ex) { throw new XAException(XAException.XAER_RMFAIL); } catch (HttpServerErrorException ex) { // int statusCode = ex.getRawStatusCode(); HttpHeaders headers = ex.getResponseHeaders(); String failureText = StringUtils.trimToNull(headers.getFirst("failure")); String errorText = StringUtils.trimToNull(headers.getFirst("XA_XAER")); Boolean failure = failureText == null ? null : Boolean.parseBoolean(failureText); Integer errorCode = errorText == null || errorText.matches("\\d+") == false ? null : Integer.parseInt(errorText); if (failure != null && errorCode != null) { throw new XAException(errorCode); } else { throw new XAException(XAException.XAER_RMERR); } } catch (Exception ex) { throw new XAException(XAException.XAER_RMERR); } }
From source file:org.bytesoft.bytetcc.supports.springcloud.SpringCloudCoordinator.java
public Object invokeGetCoordinator(Object proxy, Method method, Object[] args) throws Throwable { Class<?> returnType = method.getReturnType(); try {//from www. j a va2 s. co m StringBuilder ber = new StringBuilder(); ber.append("http://"); ber.append(this.identifier); ber.append("/org/bytesoft/bytetcc/"); ber.append(method.getName()); for (int i = 0; i < args.length; i++) { Serializable arg = (Serializable) args[i]; ber.append("/").append(this.serialize(arg)); } ResponseEntity<?> response = new RestTemplate().getForEntity(ber.toString(), returnType, new Object[0]); return response.getBody(); } catch (HttpClientErrorException ex) { throw new XAException(XAException.XAER_RMFAIL); } catch (HttpServerErrorException ex) { HttpHeaders headers = ex.getResponseHeaders(); String failureText = StringUtils.trimToNull(headers.getFirst("failure")); String errorText = StringUtils.trimToNull(headers.getFirst("XA_XAER")); Boolean failure = failureText == null ? null : Boolean.parseBoolean(failureText); Integer errorCode = errorText == null || errorText.matches("\\d+") == false ? null : Integer.parseInt(errorText); if (failure != null && errorCode != null) { throw new XAException(errorCode); } else { throw new XAException(XAException.XAER_RMERR); } } catch (Exception ex) { throw new XAException(XAException.XAER_RMERR); } }