Я получаю сообщение 504 Gateway Time-out Вызов Spring Boot Rest с использованием HTTP GET-вызова для тяжелой записи (более 80 КБ), я вызываю другую службу для получения данных с помощью объекта RestTemplate resClient, код такой, как показано ниже:
public ResponseEntity<String> getData(String endPointUrl, Map<String, Object> parameterMap, String smToken) throws Exception {
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
headers.add("Cookie", smToken);
//headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<Map<String, Object>> entity = new HttpEntity<Map<String, Object>>(parameterMap, headers);
ResponseEntity<String> responseEntity = null;
try {
SSLUtil.turnOffSslChecking();
LOGGER.info("Start call to end point : " +endPointUrl+ " at :"+ (new Date().toString()) );
//resClient.getMessageConverters()
//.add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
responseEntity = resClient.exchange(endPointUrl, HttpMethod.POST, entity,String.class);
LOGGER.info("End of call to end point : " +endPointUrl+ " at :"+ (new Date().toString()) );
LOGGER.debug("Response from end point: " + responseEntity);
} catch (Exception e) {
LOGGER.error("Exception while making a http call to " + endPointUrl,e);
throw e;
}
return responseEntity;
}
Во время отладки я вижу ответ от другого вызова службы. Требуется более 4 минут, но вместо того, чтобы ждать его к тому времени, чтобы получить ответ, который он использует, выходит только через 3 минуты.Как мы можем заставить его ждать ответа от другого вызова службы?
Я пытался решить эту проблему, увеличив время ожидания до 5 минут, используя атрибут server.connection-timeout = 300000 в application.properties, но яЯ получаю пустой ответ.Я не уверен, если это правильный подход или нет.Пожалуйста, помогите мне в этом вопросе.