1.CXF的拦截器
a.CXF拦截器能够动态的操作webservice请求过程中的操作请求和响应数据
2.拦截器分类
a.按所处的位置分为:服务器端拦截器,客户端拦截器
b.按消息的方向分为:入拦截器,出拦截器
c.按定义者分为:系统拦截器,自定义拦截器
3.拦截器API
a.interceptor(拦截器接口)
b.AbstractPhaseInterceptor(自定义拦截器从此继承)
c.LoggingInInterceptor(系统日志入拦截器)
d.LoggingOutInterceptor(系统日志出拦截器)
4.这里使用之前的cxf开发的web service服务端,日志入/出拦截器来实现日志记录,代码如下:
这样我们通过eclipse内置的web services explorer访问我们的url(+"?wsdl"),并请求方法,再查看控制台的消息:
我们在控制台可以看到很多日志信息比如请求报文和响应报文以及请求方式等等,这样就可以不需要tcp/ip monitor来查看报文信息了
5.这里使用之前的cxf开发的web service客户端(cmd生成的客户端代码但是没有cxf的jar包,所以需要自己添加),日志入/出拦截器的代码以及运行结果如下:
5.CXF的自定义拦截器,实现用户名与密码的检验,这里实现两个拦截器,一种是客户端的出拦截器,把输入的用户名和密码翻译成报文的格式,其次是服务端的入拦截器,用于验证用户名和密码是否登陆正确
a.服务端的in拦截器
b.客户端的out拦截器
-客户端拦截器和测试类代码:
-服务端拦截器和测试类代码:
-控制台日志代码: