У меня есть EJB Stateless Bean, который автоматически выполняется планировщиком внутри Websphere. Мой EJB установлен в Websphere. Внутри моего EJB я хотел бы сделать http-запрос к веб-службе, предоставляемой другим приложением (внутри того же сервера). Я пытался просто использовать относительный путь, потому что именно так я обычно делаю запросы между приложениями, но внутри моего bean-компонента я не знаю, как получить имя хоста и порт для создания URL-адреса.
Мне удалось получить хост (ip), сделав это:
InetAddress.getLocalHost().toString();
Но мне также нужен номер порта. Вопрос: как получить номер хоста и порта сервера приложений (Websphere), на котором установлено мое EJB-приложение? Это возможно?
Этот код - это то, как я пытаюсь сделать запрос, но это не работает, потому что мне нужен полный путь:
URL url = new URL("/MyOtherAppName/myservice");
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length",
Integer.toString(urlParameters.getBytes().length));
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoOutput(true);
-редактировать 1 ----
Я думаю, что подход пользователя Gas хорош и упрощает настройку моего приложения.
Я следовал этому руководству, чтобы реализовать подход поставщика URL:
Default URL Provider
и просто добавить новый URL-адрес в качестве ресурса? - person Gas   schedule 04.02.2016