Я сталкиваюсь со странной проблемой, когда ответ не возвращается из одной службы в другую.мы создали микросервисы, где один сервис вызывает другой сервис.Я вижу ответ напечатан в журналах.сразу после этой строки я возвращаю этот ответ, но он возвращается как нулевой.Я создал аналогичный метод с тем же кодом, и он отлично работает.Я поместил код для вызова службы и метода обслуживания, от которого я возвращаю ответ.
контроллер:
@RequestMapping(value = "/test/save", method = RequestMethod.POST)
@ResponseBody
public String save(@RequestBody Calculation calculation,
HttpServletRequest request) {
logger.info("In .save");
String result = "false";
try {
result = CalService.save(calculation);
logger.info("Response from service is :" + result);
} catch (Exception e) {
logger.error("Exception occured in save:", e);
}
return result;
}
method call client :
public String saveCal(Calculation calculation) {
String result = null;
try {
logger.info("In save");
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
headers.add("REMOTE_USER", "test");
HttpEntity<Calculation> request = new HttpEntity<Calculation>(Calculation, headers);
RestTemplate template = new RestTemplate();
template.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
result = template.postForObject(url+"/test/save", request, String.class);
} catch (Exception e) {
logger.error("Exception occured in SaveMddMd", e);
result = "fail";
}
logger.info("Save"+result);
return result;
}
возвращенный результат - успех или ошибка.Я вижу результат, напечатанный в контроллере, как успешный, но когда он возвращается к клиенту, он печатает как ноль.Я создал точно такой же метод с другой подписью, который возвращает результат как успех.мы используем микросервисы здесь.
Иордания