Java 如何获取jdeveloper11.1.1.7中构建的web服务应用程序的调用客户端的IP地址?

Java 如何获取jdeveloper11.1.1.7中构建的web服务应用程序的调用客户端的IP地址?,java,oracle,web-services,Java,Oracle,Web Services,我在jdeveloper11.1.1.7中构建了一个web服务应用程序,供其他客户端使用。简单地说,一般步骤如下(服务器web服务应用程序构建-->部署在服务器上-->由客户端通过WSDL文件位置使用 现在我遇到了一个需求,需要获取客户端的IP地址和端口号 问题: 如何获取Jdeveloper中内置的web服务应用程序的调用客户端的IP地址 用于构建web服务应用程序的常用技术是AXIS或CXF。Jdeveloper使用什么技术来构建web服务应用程序?这个解决方案应该适合您,它只使用标准的JA

我在jdeveloper11.1.1.7中构建了一个web服务应用程序,供其他客户端使用。简单地说,一般步骤如下(服务器web服务应用程序构建-->部署在服务器上-->由客户端通过WSDL文件位置使用

现在我遇到了一个需求,需要获取客户端的IP地址和端口号

问题:

如何获取Jdeveloper中内置的web服务应用程序的调用客户端的IP地址


用于构建web服务应用程序的常用技术是AXISCXF。Jdeveloper使用什么技术来构建web服务应用程序?

这个解决方案应该适合您,它只使用标准的JAX-WS接口


我不确定JDeveloper/Oracle ADF中使用的Web服务堆栈,这很可能是JAX-WS的WebLogic实现。

以下是我如何基于@Tomaz解决方案解决问题:

课堂上:

 @Resource WebServiceContext wsContext;
在Web方法中:

MessageContext msgx = wsContext.getMessageContext();
HttpServletRequest req = (HttpServletRequest)msgx.get(MessageContext.SERVLET_REQUEST);
String inCommingClientIpAddress=req.getRemoteAddr();

System.out.println("Client IP is: "+inCommingClientIpAddress