У меня есть 2 небольших Java-приложения. Один является внешним, а другой - внутренним. Эти два приложения развернуты в 2 разных модулях. приложение внешнего интерфейса предоставляется службой NodeType, поэтому я могу получить доступ к этому приложению из своего браузера. У меня есть одна кнопка для вызова службы в этом приложении внешнего интерфейса. Теперь, когда я нажал кнопку, я написал код для вызова бэкэнд-приложения в другом модуле, и бэкэнд-приложение вернуло успех, если оно вызывается.
Front End application code
@RequestMapping("/service")
public class CallExternalServiceController {
@RequestMapping("/callFrontEndService")
@ResponseBody
public String getResponseFromBackendService() {
final RestTemplate template = new RestTemplate();
final String serviceURL = System.getenv("BACKEND_PORT");
if (!StringUtils.isEmpty(serviceURL)) {
final String response = template.getForObject(serviceURL, String.class);
return response;
} else {
System.out.print("In Else block");
return "Service URL not defined";
}
}
Backend Application:-
@RequestMapping("/service")
public class ServiceReceiver {
@RequestMapping(value = "/callBackendService", produces = "text/plain")
@ResponseBody
public String getBackendResponse() {
System.out.println("Reached");
return "<html><h1>Calls received at Backend End:-)</h2></html>";
}
}
Когда я щелкнул поток кнопок, достигший моего веб-приложения, он также получил URL-адрес бэкэнд-приложения из модуля внешнего интерфейса, но URL-адрес находится ниже.
URL: -
ТСР: //10.102.146.210: 8081
и я получил ошибку ниже.
вс 9 июня 09:34:39 GMT 2019
Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500).
Ошибка ввода-вывода при запросе GET для "tcp: //10.102.146.210: 8081": неизвестный протокол: tcp; Вложенное исключение - java.net.MalformedURLException: неизвестный протокол: tcp
Я не устанавливал этот URL явно. Сначала я развернул бэкэнд-приложение и интерфейс. это автоматически сгенерированный URL.
Пожалуйста, дайте мне знать, где я делаю неправильно.