使用CXF为Web Service添加拦截器,自定义拦截器
来源:互联网 发布:Ad手机后期软件 编辑:程序博客网 时间:2024/05/22 06:06
拦截器分为Service端和Client端
1、Service端:
通过将org.apache.cxf.jaxws.EndpointImpl类的方法即可实现
部分代码:
UserService us = new UserServiceImpl();
String address = "http://192.168.10.254:9999/crazyit";
EndpointImpl ep = (EndpointImpl)Endpoint.publish(address , us);
//下面方法就可以添加拦截器(CXF提供的拦截器)
//cxf-2.2.10.jar org.apache.cxf.interceptor.* (CXF提供的拦截器)
ep.getOutInterceptors()
.add(new LoggingOutInterceptor());
ep.getInInterceptors()
.add(new LoggingInInterceptor());
ep.getInInterceptors()
.add(new AuthIntercetpr());//此拦截器是自定义的拦截器。
ep.getOutInterceptors()
ep.getInInterceptors()
ep.getInInterceptors()
2、Client端
客户端可以通过对org.apache.cxf.frontend.ClientProxy中的getClient()方法获取org.apache.cxf.endpoint.Client对象,该对象可以为客户端添拦截器。
部分代码
//为客户端添加拦截器
org.apache.cxf.endpoint.Client client = ClientProxy.getClient(us);
client.getInInterceptors().add(new LoggingInInterceptor());
client.getOutInterceptors().add(new LoggingOutInterceptor());
org.apache.cxf.endpoint.Client client = ClientProxy.getClient(us);
client.getInInterceptors().add(new LoggingInInterceptor());
client.getOutInterceptors().add(new LoggingOutInterceptor());
//自定义拦截器
client.getOutInterceptors().add(new AddHeaderInterceptor("crazyit","crazyit.org2"));
client.getOutInterceptors().add(new AddHeaderInterceptor("crazyit"
3、自定义的拦截器
部分代码
publicclass AuthIntercetpr
extends AbstractPhaseInterceptor<SoapMessage>
{
public AuthIntercetpr()
{
//子类总会调用父类的构造器,
//默认是调用无参数的构造器。
//指定该拦截器在哪个阶段被激发
super(Phase.PRE_INVOKE);
}
//处理消息
public void handleMessage(SoapMessage message)
{
System.out.println("==================" + message);
//获取SOAP消息的全部头
List<Header> headers = message.getHeaders();
if(headers.size() <1)
{
thrownew Fault(new SOAPException("SOAP消息头格式不对哦!"));
}
for(Header header : headers)
{
SoapHeader soapHeader = (SoapHeader)header;
//取出SOAP的Header元素
Element element = (Element)soapHeader.getObject();
checkSOAPHeader(element);
}
}
}
{
}
- 使用CXF为Web Service添加拦截器,自定义拦截器
- 8.Web Service CXF添加自定义拦截器
- 7.Web Service CXF添加拦截器
- WEB-Service CXF自定义拦截器
- 用CXF编写基于spring的web service 并添加cxf日志拦截器和自定义拦截器
- CXF添加自定义拦截器
- CXF添加自定义拦截器
- CXF-06:Web Service暴露后如何进行权限控制,CXF拦截器的理论以及如何为CXF的客户端和服务器端添加拦截器
- web service 自定义拦截器
- CXF添加拦截器
- CXF添加拦截器
- CXF添加拦截器
- CXF添加拦截器
- CXF自定义拦截器
- CXF 自定义拦截器
- CXF自定义拦截器的使用
- CXF学习05---Web Service的本质与服务器端添加拦截器
- 10.Web Service Spring整合CXF之添加拦截器 完结
- CXF 拦截器预处理request、response消息
- Qt的开发环境的搭建
- FS_S5PC100平台上WM9714 ALSA音频移植
- windows phone 7 mediaplayerlauncher使用方法
- linux安装oracle DISPLAY设置问题
- 使用CXF为Web Service添加拦截器,自定义拦截器
- javascript 输入内容检测(正则表达式方法)不使用弹出窗口提示方法
- #import
- silverlight基本使用Visual State Manager
- literal does not match format string 解决办法
- 开发Android应用程序时如何调试?
- 网站日志全解析技巧
- __OSX_AVAILABLE_STARTING()用法和xcode 基于iOS5 SDK的开发
- js学习网站