如何将调用客户端的IP地址获取到Jdeveloper 11.1.1.7中构建的Web服务应用程序?

时间:2014-08-25 12:00:35

标签: java oracle web-services

我在 Jdeveloper 11.1.1.7 中构建了一个Web服务应用程序,供其他客户端使用。只需以下一般步骤(服务器Web服务应用程序构建--->在服务器上部署--->客户端通过WSDL文件位置使用)。

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

问题:

如何将调用客户端的 IP 地址发送到Jdeveloper中构建的Web服务应用程序?

用于构建Web服务应用程序的常用技术是 AXIS CXF 。 Jdeveloper用什么技术构建Web服务应用程序?

2 个答案:

答案 0 :(得分:1)

此解决方案应该可以正常使用,它只使用标准的JAX-WS接口https://stackoverflow.com/a/12816220/1643498

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

答案 1 :(得分:0)

这是我如何根据@Tomaz解决方案解决问题:

jax ws getting client ip

在课堂上:

 @Resource WebServiceContext wsContext;

在网络方法中:

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

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