jax-ws 获取客户端相关信息

本博客转自 http://blog.csdn.net/z69183787/article/details/46884165, 尊重原创

  1. 基于JDK6 jax-ws开发的webservice获取客户端IP地址
    • Endpoint.publish() 轻量级HTTP服务发布
    • 在web容器tomcat下发布
  2. 基于XFire开发的webservice获取客户端IP地址
  3. 基于Axis开发的webservice获取客户端IP地址

[一]、基于JDK6 jax-ws开发的webservice获取客户端IP地址

以:http://www.micmiu.com/soa/webservice/jax-ws-demo/ 中的 [三] 2 具体示例为基础:

1. 情况一:如果以 Endpoint.publish() 的方式发布:

服务端接口实现类:HelloServiceImpl.Java 修改如下:

客户端调用后,服务端运行日志:

从上面的日志信息中可看出:服务端完全可以获取到客户端的IP地址。

2. 情况二:如果以web容器的方式发布(jetty 或 tomcat为例):

服务端接口实现 HelloServiceImpl.java 修改成如下:

客户端代码不用修改,运行如下:

服务端运行日志如下:

从上面的日志信息中可看出:服务端完全可以获取到客户端的IP地址。

[二]、基于XFire开发的webservice获取客户端IP地址

以:http://www.micmiu.com/soa/webservice/xfire-ws-base-demo/ 的示例为基础:

服务端接口实现类:HelloServiceImpl.java 修改成如下:

客户端调用后,服务端的日志信息如下:

从上面的日志信息中可看出:服务端完全可以获取到客户端的IP地址。

[三]、Axis开发的webservice获取客户端IP地址

以Axis最简单的部署方式为例:

服务端代码:HelloWorld.java

客户端调用代码:Client4Hello.java

运行客户端结果:

从tomcat的日志文件catalina.out 中看到服务端运行信息

从上面的日志信息中可看出:服务端完全可以获取到客户端的IP地址。

到此演示了JAX-WS、XFire、Axis三种webservice的获取客户端IP的简单实现过程。

posted @ 2016-11-24 15:03  jxiaow  阅读(131)  评论(0编辑  收藏  举报