0

我正在 java 6 重量轻(嵌入式)HTTP 服务器jax-ws-web-services-without-java-ee-containers上实现 Web 服务- 用于测试目的 -

我想为每个请求获取客户端 IP。

我试图在我的 Web 服务类中声明 Web 服务上下文:

@Resource
WebServiceContext wsContext;

然后在 web 方法中使用它的消息上下文:

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

但是,它给了我Null HTTP 请求。

我使用相同的方式,但使用 SOAP 处理程序,但同样的问题:((

请问有什么办法可以吗??

提前致谢,,,

4

1 回答 1

0

我使用了相同的想法,但几乎没有变化:

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

谢谢,,,

于 2010-02-15T18:45:39.833 回答