四、handler的作用及特性

简介:

Axis中有一个basicHandler的抽象类,这个类可以供我们继承。可以完成很多复杂的功能,如:统计当前服务被调用的次数、验证服务调用信息等待

1、下面我们继承这个类,完成统计服务调用次数的功能;

RequestHandler代码如下:

 

代码

 

 

 

BasicHandler是一个抽象类,继承这个类需要实现invoke签名方法,上面的代码很简单,就是一个累加统计,MessageContext是当前WebService的一个上下文,可以得到当前服务的公共信息和请求信息。这里的this.getOption("state");是和wsdd中的parameter对应的。

 

2、编写wsdd文件,加入RequestHandler配置信息,wsdd配置如下:

deployHandler.wsdd:

 

代码

 

 

handler元素配置的就是在上面编写的RequestHandler,type就是classpath;里面的parameter和上面RequestHandler中的this.getOption(“state”)的对应。

service元素中的requestFlow handler是请求的时候调用的handler、responsHandler是响应的时候调用的handler。

 

3、发布当前WebService,和前面的一样运行命令行:

java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/AxisWebService/services/AdminService deployHandler.wsdd

看到下面的就表示执行成功

Processing file undeploy.wsdd

<Admin>Done processing</Admin>

然后在浏览器中请求:

http://localhost:8080/AxisWebService/servlet/AxisServlet

就可以看到发布的服务,下面编写客户端代码

 

4、客户端和上面HelloWorldWSDDClient一样,这里就不写了。

调用后可以看到服务器端的控制台输出:

state: success, count: 5, requestCount: 5

state: success, count: 6, requestCount: 6

state: success, count: 7, requestCount: 7

state: success, count: 8, requestCount: 8

why? 为什么是4次?首先请求的时候执行一次handler,响应执行一次。然后调用2个方法,那就响应了2次,所以是4次。可以注销一个方法看看是不是少了2次,state是配置文件中的消息。







本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2010/12/20/1911370.html,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
程序员 编译器 C++
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用(一)
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用
143 0
|
4月前
|
Java 开发者 Spring
深入解析这两种扩展机制的工作原理和用法
深入解析这两种扩展机制的工作原理和用法
|
5月前
|
算法 IDE 程序员
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用(三)
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用
98 5
|
5月前
|
设计模式 开发框架 编译器
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用(二)
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用
163 0
|
11月前
|
C#
c#之Attribute特性的原理
c#之Attribute特性的原理
53 0
|
11月前
Attribute特性的原理
Attribute特性的原理
45 0
|
12月前
|
前端开发
【前端验证】对uvm_info宏的进一步封装尝试
【前端验证】对uvm_info宏的进一步封装尝试
|
XML 缓存 Java
3分钟了解FactoryBean的作用和底层工作原理
FactoryBean是Spring框架中的一个接口,用于创建和管理其他Bean实例的对象。FactoryBean的底层工作原理是通过实现FactoryBean接口并实现其中的方FactoryBean是Spring框架中的一个接口,用于创建和管理其他Bean实例的对象。FactoryBean的底层工作原理是通过实现FactoryBean接口并实现其中的方法来创建和管理Bean实例。 以下是FactoryBean的代码注释和解释:法来创建和管理Bean实例。 以下是FactoryBean的代码注释和解释:
254 0
3分钟了解FactoryBean的作用和底层工作原理
Runtime系列:super调用函数本质、isMemberOfClass与isKindOfClass的区别、综合分析【05】
Runtime系列:super调用函数本质、isMemberOfClass与isKindOfClass的区别、综合分析
126 0
Runtime系列:super调用函数本质、isMemberOfClass与isKindOfClass的区别、综合分析【05】