(五)CXF之添加拦截器
一、需求分析
- webService中的拦截器类似于servlet的Filter过滤器。一般用于调用服务前后先调用拦截器的方法。
二、案例
本章案例是基于上一章节的基础上添加拦截器的
2.1 服务端添加拦截器
ublic class PublishMain {
public static void main(String[] args) {
String address="http://localhost:3333/login";
JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean();
factoryBean.setAddress(address);
factoryBean.setServiceClass(ILogin.class);
factoryBean.setServiceBean(new Login());
/**
* 添加In拦截器 日志拦截器
* 添加Out拦截器 日志拦截器
*/
factoryBean.getInInterceptors().add(new LoggingInInterceptor());
factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
factoryBean.create();
System.out.println("服务发布.......");
}
}
2.2 在客户端添加拦截器:必须引入cxf的jar包
public class Client {
public static void main(String[] args) {
ILogin login=new ILoginService().getILoginPort();
org.apache.cxf.endpoint.Client client=ClientProxy.getClient(login);
/**
* 添加In拦截器 日志拦截器
* 添加Out拦截器 日志拦截器
*/
client.getInInterceptors().add(new LoggingInInterceptor());
client.getOutInterceptors().add(new LoggingOutInterceptor());
MyRoleArray roles=login.getRoles();
List<MyRole> roleList= roles.item;
for(MyRole role:roleList) {
System.out.println(role.getKey());
for(Role r:role.getValue()) {
System.out.println(r.getId()+"\t"+r.getRoleName());
}
System.out.println("------------------");
}
}
}
2.3 测试
- 上面的配置已经把拦截器添加好了,当发布服务后,客户端执行后,首先,查看客户端的控制台

由此可见,客户端是先进后出(先发送请求再接收数据)。
- 再查看服务端的控制台,可见服务端是先进后出。

(五)CXF之添加拦截器的更多相关文章
- (七)CXF添加拦截器
今天开始讲下拦截器,前面大家学过servlet,struts2 都有拦截器概念,主要作用是做一些权限过滤,编码处理等: webservice也可以加上拦截器,我们可以给webservice请求加权限判 ...
- 使用CXF为webservice添加拦截器
拦截器分为Service端和Client端 拦截器是在发送soap消息包的某一个时机拦截soap消息包,对soap消息包的数据进行分析或处理.分为CXF自带的拦截器和自定义的拦截器 1.Servi ...
- CXF添加拦截器和自定义拦截器
前面讲了如何采用CXF开发webservice,现在来讲如何添加拦截器和自定义拦截器. 服务端代码: HelloWorld implementor=new HelloWorldImpl(); Stri ...
- (八)CXF之用spring添加拦截器
一.案例 本章案例是基于CXF之自定义拦截器基础之上改造的,目的是在服务端中用spring添加拦截器 配置web.xml <?xml version="1.0" encodi ...
- WS之cxf的权限拦截器应用
一.服务器端: 1.权限判断: package cn.tdtk.ws.interceptor; import java.util.List; import org.apache.cxf.binding ...
- CXF对Interceptor拦截器的支持
前面在Axis中介绍过Axis的Handler,这里CXF的Interceptor就和Handler的功能类似.在每个请求响应之前或响应之后,做一些事情.这里的Interceptor就和Filter. ...
- spring boot 添加拦截器
构建一个spring boot项目. 添加拦截器需要添加一个configuration @Configuration @ComponentScan(basePackageClasses = Appli ...
- javaweb添加拦截器
js请求后台代码添加拦截器: package com.ctzj.biz.isale.deploy.controller; import java.io.IOException; import java ...
- CXF实战之拦截器Interceptor(四)
拦截器(Interceptor)是CXF功能最基本的扩展点,能够在不正确核心模块进行改动的情况下.动态加入非常多功能.拦截器和JAX-WS Handler.Filter的功能相似,当服务被调用时.就会 ...
随机推荐
- WebSocketSharp中WebSocket类
websocket-sharp.clone, Version=1.0.2.39869 WebSocket由方法调用事件改为实例化委托调用,两种构造 1.构造函数 第一种 // // 摘要: // In ...
- 【Oracle/Java】向三张表各插入百万数据,共用时18分3秒,平均每张表6分钟
三张表DDL如下: CREATE TABLE tb01 ( "ID" ,) not null primary key, "NAME" NVARCHAR2() n ...
- Python中的子进程并发
date: 2019-06-16 22:35:33 author: headsen chen notice:个人原创 实例代码: import os,time time.sleep(1) from ...
- Android:ART 优化配置(Mstar-6A648)
1.Android预优化的原理 先来回顾一下Android的发展史,在2014年的Google I/O大会上,Google隆重的发布了Android 4.4操作系统,其中有一个环节着重介绍了ART(A ...
- 算法习题---4.3救济金发放(UVa133)
一:题目 (n< )个人站成一圈,逆时针编号为1~n.有两个官员,A从1开始逆时针数,B从n开始顺时针数.在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上 ...
- C#泛型学习
什么是泛型 泛型是程序设计语言的一种特性.允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明.各种程序设计语言和其编译器.运行环境对泛型的支持均不一样.将类型参数 ...
- LODOP中纸张高度不定超文本和纯文本对比
关于纸张高度不定的小票打印,建议使用纯文本进行设计,避免纸张高度引起变形,或超文本解析差异造成一些影响:LODOP纸张高度不定的纯文本累计高度 上面的链接的博文里,纯文本可通过间距和高度值累计,得出最 ...
- jQuery BlockUI Plugin Demo 3(Page Blocking Examples)
This page demonstrates several ways to block the page. Each button below activates blockUI and then ...
- jquery图片播放插件Fancybox使用详解
今天给大家介绍的jquery图片播放插件叫Fancybox,相比LightBox来说,Fancybox相对庞大点,配置也更丰富一些,相信你会喜欢的. Fancybox的项目主页地址:http://fa ...
- react 点击事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...