получить IP-адрес клиента для веб-сервиса на встроенном http-сервере Java 6

Я реализую веб-службу на легком (встроенном) HTTP-сервере Java 6 jax-ws-web-services-without-java-ee-containers — для целей тестирования —

Я хочу получить IP-адрес клиента для каждого запроса.

Я попытался объявить контекст веб-службы в своем классе веб-службы:

@Resource
WebServiceContext wsContext;

затем используйте его контекст сообщения в веб-методе:

MessageContext msgx = wsContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest)msgx.get(MessageContext.SERVLET_REQUEST);
System.out.println(request.getRemoteAddr());   ---->>> NULLPointerException

но он дает мне HTTP-запрос Null.

Я использовал то же самое, но с обработчиком SOAP, но та же проблема :((

Есть ли способ получить его, пожалуйста??

заранее спасибо,,,


person Moro    schedule 15.02.2010    source источник


Ответы (1)


Я использовал ту же идею, но с небольшими изменениями:

MessageContext msgx = wsContext.getMessageContext();
    HttpExchange exchange = (HttpExchange)msgx.get("com.sun.xml.internal.ws.http.exchange");
    System.out.println(exchange.getRemoteAddress().getAddress());

Благодарность,,,

person Moro    schedule 15.02.2010