最近在给对接方写webservice接口,提供的接口需要把header里面的参数取出然后在返回的信息中添加header参数,所以这就需要我们从header中获取参数,在webservice中header的值可以有很多用途,有些程序可能会用来验证身份信息,或者做一些校验,返回给客户端的header一半也是用于做校验等,下面就介绍获取请求的header并封装返回header参数的方法。
我搭建的项目使用的cxf,所以我们可以使用AbstractPhaseInterceptor来继承这个抽象类来自定义我们的拦截器,首先我们看到AbstractPhaseInterceptor已经有很多实现类,例如日志拦截器。
cxf拦截器主要分为两类,一种是处理请求的拦截器InInterceptor,另一种是处理返回的拦截器OutInterceptor,这个从哪里能看到呢,在我们的法布类上可以看到EndpointImpl有这样两个方法
首先我们先创建请求的拦截器
这里会重写两个方法,第一个设置执行的时机,第二个拦截内容做对应逻辑操作Phase.PRE_PROTOCOL是拦截器执行的时机,PRE_PROTOCOL就是在协议处理阶段拦截内容,后面返回的拦截器也是一样,就不介绍了,具体可以看代码都有那些
获取到你需要的header里的内容之后,根据你的业务做你对应的业务处理,比如验证信息,我这里就是将获取的值在添加到header中返回给客户端,所以我放到了线程中。下一步我们创建返回的拦截器:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。