Получить URL-адрес вызова в веб-сервисе Java - PullRequest
2 голосов
/ 11 октября 2008

У нас есть веб-сервис, который развернут на 2 отдельных машинах в разных местах. Можно ли отслеживать URL, по которому человек звонил на наш веб-сервис, используя код Java? У нас настроен URL-адрес 3DNS, и мы хотим, чтобы все клиенты использовали этот URL-адрес, в отличие от прямого попадания в поля с правильными номерами портов в URL.

Спасибо Дэмиен

Ответы [ 3 ]

2 голосов
/ 07 декабря 2009

Вы смотрели на:

@Resource
WebServiceContext wsContext;

Это вернет контекст текущего сообщения, отправленного на ваш веб-сервис. Я смог получить IP-адрес пользователя от этого.

Предполагается, что вы используете Java.

0 голосов
/ 23 октября 2008

Альтернативой может быть использование фильтров сервлетов на реальных конечных точках. Фильтр может сделать несколько разных вещей. Он может просто записать запрошенный URL-адрес из HttpServletRequest или даже перенаправить на правильный URL-адрес для вас (хотя я не уверен, что это означает для веб-службы).

Все, что вам нужно сделать, это сопоставить фильтр с тем же контекстным путем, что и веб-служба (например, ось использует / services / *).

0 голосов
/ 13 октября 2008

Вы можете посмотреть что-то вроде OWSM (Oracle Web Services Manager) ... могут быть альтернативы с открытым исходным кодом.

OWSM создает виртуальную конечную точку, которую он обрабатывает и направляет к фактическим узлам службы. Таким образом, ваши сервисные хосты могут быть скрыты за брандмауэром, и только хост OWSM виден миру. Когда пользователь достигает виртуальной конечной точки, OWSM может аутентифицировать и передавать их на хост сбалансированного сервиса.

...