Handler的基本概念 J2EE web service中的Handler技术特点非常像Servlet技术中的Filter。我们知道,在Servlet中,当一个HTTP到达服务端时,往往要经过多个Filter对请求进行过滤,然后才到达提供服务的Servlet,这些Filter的功能往往是对请求进行统一编码,对用户进行认证,把用户的访问写入系统日志等。相应的,Web服务中的Handler通常也对soap请求和响应包灵活操作,功能非常强大。
使用Axis SOAP Monitor SOAP Monitor可以监测Axis soap包的内容,它是Axis内置的Handler,不过它默认并没有发布,我们在需要用到的时候可以发布之。 1、到目录%TOMCAT_HOME%\webapps\axis下,你会找到SOAPMonitorApplet.java,在命令行中编译它: javac -classpath %AXIS_HOME%\lib\axis.jar SOAPMonitorApplet.java 编译完之后你会看见目录下多了很多CLASS文件,它们的名字是SOAPMonitorApplet*.class 2、在目录%TOMCAT_HOME%\webapps\axis\WEB-INF下打开server-config.wsdd文件,将下面的两部分代码直接加入其中相应的位置 第一部分:
第二部分:
3、选择你要监控的服务 以上次的Hello服务为例,在server-config.wsdd中你会找到这段代码:
在这段代码中加入以下的代码:
最后的样子是:
这样Hello服务就被SOAP Monitor监控了。 同样,可以通过depoly-monitor.wsdd的方式发布monitor:
启动服务,在DOS下切换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF\目录下,执行下: java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy-monitor.wsdd 然后,在需要监测的web service里面加上<handler type="soapmonitor"/>就可以了。 不过需要注意的是,服务通过JWS方式调用的话SOAP Monitor没有监控效果。 同样的道理,为自己的需求实现的Handler都可以通过这样的方式发布在对应的Web服务中。网上有很多关于诸如日志、数字签名、加密之类的Handler功能,可以找来看看。
Powered by: BlogJava Copyright © 默认为零
平凡之人悟非平凡之事,升华之道也。 本坛实乃杂烩,工作、生活、育儿、健身,指哪打哪,想哪写哪!