我在 Jdeveloper 11.1.1.7 中构建了一个Web服务应用程序,供其他客户端使用。只需以下一般步骤(服务器Web服务应用程序构建--->在服务器上部署--->客户端通过WSDL文件位置使用)。
现在我遇到了一个要求,我需要获取客户端的 IP 地址和端口号。
问题:
如何将调用客户端的 IP 地址发送到Jdeveloper中构建的Web服务应用程序?
用于构建Web服务应用程序的常用技术是 AXIS 或 CXF 。 Jdeveloper用什么技术构建Web服务应用程序?
答案 0 :(得分:1)
此解决方案应该可以正常使用,它只使用标准的JAX-WS接口https://stackoverflow.com/a/12816220/1643498
我不确定JDeveloper / Oracle ADF中使用的Web Service堆栈,这很可能是JAX-WS的WebLogic实现。
答案 1 :(得分:0)
这是我如何根据@Tomaz解决方案解决问题:
在课堂上:
@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