List of usage examples for org.springframework.web.client RestTemplate exchange
@Override public <T> ResponseEntity<T> exchange(URI url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) throws RestClientException
From source file:org.starfishrespect.myconsumption.android.tasks.StatValuesUpdater.java
public void refreshDB() { AsyncTask<Void, List, Void> task = new AsyncTask<Void, List, Void>() { @Override//from w ww . ja va 2 s.c o m protected Void doInBackground(Void... params) { DatabaseHelper db = SingleInstance.getDatabaseHelper(); RestTemplate template = new RestTemplate(); HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser(); ResponseEntity<StatDTO[]> responseEnt; template.getMessageConverters().add(new MappingJacksonHttpMessageConverter()); try { for (SensorData sensor : db.getSensorDao().queryForAll()) { // Stats String url = String.format(SingleInstance.getServerUrl() + "stats/sensor/%s", sensor.getSensorId()); responseEnt = template.exchange(url, HttpMethod.GET, new HttpEntity<>(httpHeaders), StatDTO[].class); StatDTO[] statsArray = responseEnt.getBody(); List<StatDTO> stats = new ArrayList<>(Arrays.asList(statsArray)); ObjectMapper mapper = new ObjectMapper(); try { String json = mapper.writeValueAsString(stats); String key = "stats_" + sensor.getSensorId(); int id = db.getIdForKey(key); KeyValueData valueData = new KeyValueData(key, json); valueData.setId(id); LOGD(TAG, "writing stat in local db: " + json); db.getKeyValueDao().createOrUpdate(valueData); } catch (IOException e) { LOGD(TAG, "Cannot create stats " + stats.toString(), e); } } } catch (SQLException e) { LOGD(TAG, "Cannot create stats ", e); } catch (ResourceAccessException | HttpClientErrorException e) { LOGE(TAG, "Cannot access server ", e); } return null; } @Override protected void onPostExecute(Void aVoid) { if (statUpdateFinishedCallback != null) { statUpdateFinishedCallback.onStatUpdateFinished(); } } }; task.execute(); }
From source file:com.auditbucket.client.AbRestClient.java
public void ensureFortress(String fortressName) { if (fortressName == null) return;//from w w w .j a va 2 s .c om RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); HttpHeaders httpHeaders = getHeaders(userName, password); HttpEntity<FortressInputBean> request = new HttpEntity<>(new FortressInputBean(fortressName, false), httpHeaders); try { restTemplate.exchange(FORTRESS, HttpMethod.POST, request, FortressResultBean.class); if (defaultFortress != null && !defaultFortress.equals(fortressName)) { request = new HttpEntity<>(new FortressInputBean(defaultFortress, false), httpHeaders); restTemplate.exchange(FORTRESS, HttpMethod.POST, request, FortressResultBean.class); } } catch (HttpClientErrorException e) { // ToDo: Rest error handling pretty useless. need to know why it's failing logger.error("AB Client Audit error {}", getErrorMessage(e)); } catch (HttpServerErrorException e) { logger.error("AB Server Audit error {}", getErrorMessage(e)); } }
From source file:com.fredhopper.core.connector.index.upload.impl.RestPublishingStrategy.java
@Override public URI triggerDataLoad(final InstanceConfig config, final String dataId) throws ResponseStatusException { Preconditions.checkArgument(config != null); Preconditions.checkArgument(StringUtils.isNotBlank(dataId)); final RestTemplate restTemplate = restTemplateProvider.createTemplate(config.getHost(), config.getPort(), config.getUsername(), config.getPassword()); final URI url = createUri(config.getScheme(), config.getHost(), config.getPort(), config.getServername(), TRIGGER_PATH, Collections.emptyList()); final HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_PLAIN); final HttpEntity<String> httpEntity = new HttpEntity<>(dataId, headers); final ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.PUT, httpEntity, String.class); final HttpStatus status = response.getStatusCode(); if (status.equals(HttpStatus.CREATED)) { return response.getHeaders().getLocation(); } else {// www.jav a2 s. c o m throw new ResponseStatusException( "HttpStatus " + status.toString() + " response received. Load trigger creation failed."); } }
From source file:com.iata.ndc.trial.controllers.DefaultController.java
@RequestMapping(value = "/ba", method = RequestMethod.GET) public String getCal() { RestTemplate restTemplate = new RestTemplate(); List<HttpMessageConverter<?>> converters = new ArrayList<>(); MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); converter.getObjectMapper().configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); converters.add(converter);/*from w ww.j ava2 s. co m*/ restTemplate.setMessageConverters(converters); HttpHeaders headers = new HttpHeaders(); headers.add("client-key", "zmd9apqgg2jwekf8zgqg5ybf"); headers.setContentType(MediaType.APPLICATION_JSON); ResponseEntity<BALocationsResponseWrapper> baLocationsResponse = restTemplate.exchange( "https://api.ba.com/rest-v1/v1/balocations", HttpMethod.GET, new HttpEntity<Object>(headers), BALocationsResponseWrapper.class); System.out.println(baLocationsResponse.getBody().getGetBALocationsResponse().getCountry().size()); return "index"; }
From source file:com.iata.ndc.trial.controllers.DefaultController.java
@RequestMapping(value = "/sita", method = RequestMethod.GET) public String getSita() { RestTemplate restTemplate = new RestTemplate(); List<HttpMessageConverter<?>> converters = new ArrayList<>(); MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); converter.getObjectMapper().configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); converters.add(converter);// www . ja va 2 s . c o m restTemplate.setMessageConverters(converters); HttpHeaders headers = new HttpHeaders(); headers.add("client-key", "zmd9apqgg2jwekf8zgqg5ybf"); headers.setContentType(MediaType.APPLICATION_JSON); ResponseEntity<BALocationsResponseWrapper> baLocationsResponse = restTemplate.exchange( "https://api.ba.com/rest-v1/v1/balocations", HttpMethod.GET, new HttpEntity<Object>(headers), BALocationsResponseWrapper.class); System.out.println(baLocationsResponse.getBody().getGetBALocationsResponse().getCountry().size()); return "index"; }
From source file:org.avidj.zuul.client.ZuulRestClient.java
@Override public boolean lock(String sessionId, List<String> path, LockType type, LockScope scope) { RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); HttpEntity<String> entity = new HttpEntity<String>("parameters", headers); Map<String, String> parameters = new HashMap<>(); parameters.put("id", sessionId); // set the session id UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(serviceUrl + lockPath(path)) .queryParam("t", type(type)).queryParam("s", scope(scope)); ResponseEntity<String> result = restTemplate.exchange(uriBuilder.build().encode().toUri(), HttpMethod.PUT, entity, String.class); LOG.info(result.toString());//from w w w . j a v a 2s .c o m HttpStatus code = result.getStatusCode(); return code.equals(HttpStatus.CREATED); }
From source file:es.onebox.rest.utils.service.QueryService.java
/** * Main method to perform request to Onebox REST API. * * @param authenticationForm/*w ww. ja v a2 s . c om*/ * @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:com.auditbucket.client.AbRestClient.java
public int flushXReferences(List<CrossReferenceInputBean> referenceInputBeans) { logger.info("Processing [{}] cross references - simulate [{}]", referenceInputBeans.size(), simulateOnly); if (simulateOnly) return 0; RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); HttpHeaders httpHeaders = getHeaders(userName, password); HttpEntity<List<CrossReferenceInputBean>> requestEntity = new HttpEntity<>(referenceInputBeans, httpHeaders);/*w w w.j a v a2s. c om*/ try { ResponseEntity<ArrayList> response = restTemplate.exchange(CROSS_REFERENCES, HttpMethod.POST, requestEntity, ArrayList.class); logServerMessages(response); return referenceInputBeans.size(); } catch (HttpClientErrorException e) { // ToDo: Rest error handling pretty useless. need to know why it's failing logger.error("AB Client Audit error {}", getErrorMessage(e)); return 0; } catch (HttpServerErrorException e) { logger.error("AB Server Audit error {}", getErrorMessage(e)); return 0; } }
From source file:com.nautestech.VERDE.controller.HomeController.java
@RequestMapping(value = "/verdeUser") public String Rest(Model model) throws URISyntaxException { RestTemplate restTemplate = new RestTemplate(); String plainCreds = "mcadmin1:pass_1234"; byte[] plainCredsBytes = plainCreds.getBytes(); byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes); String base64Creds = new String(base64CredsBytes); HttpHeaders headers = new HttpHeaders(); headers.add("Authorization", "Basic " + base64Creds); // headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); HttpEntity<String> request = new HttpEntity<String>(headers); URI url = new URI("http://netseason.iptime.org/mc/rest/verdeUser"); ResponseEntity<VerdeUser> response = restTemplate.exchange(url, HttpMethod.GET, request, VerdeUser.class); logger.info(response.getHeaders().toString()); List<XmlData> list = new ArrayList<XmlData>(); list = response.getBody().getVerdeUser(); String result = ""; for (int i = 0; i < list.size(); i++) { XmlData data = (XmlData) list.get(i); result += data.getName() + "|" + data.getValue() + "</br>\n"; }//from w w w. jav a 2 s .c o m logger.info(result); model.addAttribute("result", result); return "rest"; }
From source file:com.nautestech.VERDE.controller.HomeController.java
/** * Simply selects the home view to render by returning its name. *//*from ww w. j a v a 2 s . co m*/ // @RequestMapping(value = "/", method = RequestMethod.GET) // public String home(Locale locale, Model model) { // logger.info("Welcome home! The client locale is {}.", locale); // // Date date = new Date(); // DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); // // String formattedDate = dateFormat.format(date); // // model.addAttribute("serverTime", formattedDate ); // // return "home1"; // } @RequestMapping(value = "/verdeLicense") public String RestVerdeLicense(Model model) throws URISyntaxException { RestTemplate restTemplate = new RestTemplate(); String plainCreds = "mcadmin1:pass_1234"; byte[] plainCredsBytes = plainCreds.getBytes(); byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes); String base64Creds = new String(base64CredsBytes); HttpHeaders headers = new HttpHeaders(); headers.add("Authorization", "Basic " + base64Creds); // headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); HttpEntity<String> request = new HttpEntity<String>(headers); URI url = new URI("http://netseason.iptime.org/mc/rest/verdeLicense"); ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class); logger.info(response.getHeaders().toString()); model.addAttribute("result", response.getBody()); return "rest"; }