使用SOAPMonitor

news/2024/7/4 0:50:41 标签: class, servlet, soap, service, module, tomcat
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

    能够监视SOAP消息对于Web Service开发者来说很重要,Axis2自带了这个功能,但是出于安全考虑,Axis2默认状态下并没有启用这个功能。想要启用它,需要下列步骤:

    1、找到axis2.xml文件。它位于<CATALINA_HOME>/webapps/axis2/WEB-INF/conf目录下,添加下面一句话:

class="xml"><module ref="soapmonitor"/>

    2、axis2中定义自己的‘soapmonitorPhase’

class="xml">   <phaseOrder type="inflow">
        <!--System pre defined phases-->
        <phase name="TransportIn"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
            <handler name="AddressingBasedDispatcher"
                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
            <handler name="InstanceDispatcher"
                     class="org.apache.axis2.engine.InstanceDispatcher">
                <order phase="PostDispatch"/>
            </handler>
        </phase>
        <!--System pre defined phases-->
        <!--After Postdispatch phase module author or or service author can add any phase he want-->
        <phase name="userphase1"/>
        <phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder type="outflow">
        <!--user can add his own phases to this area-->
        <phase name="userphase1"/>
        <phase name="soapmonitorPhase"/>
        <!--system predefined phase-->
        <!--these phase will run irrespective of the service-->
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
    </phaseOrder>
    <phaseOrder type="INfaultflow">
        <!--user can add his own phases to this area-->
        <phase name="userphase1"/>
        <phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder type="Outfaultflow">
        <!--user can add his own phases to this area-->
        <phase name="userphase1"/>
        <phase name="soapmonitorPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
    </phaseOrder>

   3、在web.xml中加入

class="xml">    <servlet>
       <servlet-name>SOAPMonitorService</servlet-name>
       <display-name>SOAPMonitorService</display-name>
       <servlet-class>
         org.apache.axis2.soapmonitor.servlet.SOAPMonitorService
       </servlet-class>
       <init-param>
          <param-name>SOAPMonitorPort</param-name>
          <param-value>5001</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>SOAPMonitorService</servlet-name>
        <url-pattern>/SOAPMonitor</url-pattern>
    </servlet-mapping>

   4、<CATALINA_HOME>/webapps/axis2/WEB-INF/lib下有个jar文件叫做soapmonitor-1.4.1.jar,把它解压到axis2根目录<CATALINA_HOME>/webapps/axis2。

   5、浏览器的地址是:http://localhost:8080/axis2/SOAPMonitor

   6、在这里,我们需要注意一个配置问题,如果tomcat下有多个axis应用,设置了多个SOAPmonitor,我们则需要更改SOAPmonitor的端口(axis默认配置的是5001),否则会产生冲突,运行SOAPmonitor时会无法启动,提示the soap monitor is unable to communcate with the server,解决方法如下:

打开C:/Tomcat5/webapps/axis/WEB-INF目录下的web.xml,找到

class="xml"><servlet>
      <servlet-name>SOAPMonitorService</servlet-name>
      <display-name>SOAPMonitorService</display-name>
      <servlet-class>
          org.apache.axis.monitor.SOAPMonitorService
      </servlet-class>
      <init-param>
        <param-name>SOAPMonitorPort</param-name>
        <param-value>5001</param-value>
      </init-param>
      <load-on-startup>100</load-on-startup>
</servlet>

 这段,将其中的5001改成5002,依此类推。

   7、官方帮助:http://ws.apache.org/axis2/1_3/soapmonitor-module.html


http://www.niftyadmin.cn/n/1040110.html

相关文章

rabbitMQ 基础之Exchange Type

2019独角兽企业重金招聘Python工程师标准>>> 首先先介绍下rabbitmq的一些基础概念 1、队列、生产者、消费者 队列是RabbitMQ的内部对象&#xff0c;用于存储消息。P&#xff08;生产者&#xff09;生产消息并投递到队列中&#xff0c;C&#xff08;消费者&#xff0…

谈谈Java利用原始HttpURLConnection发送POST数据

这篇文章主要给大家介绍java利用原始httpUrlConnection发送post数据&#xff0c;设计到httpUrlConnection类的相关知识&#xff0c;感兴趣的朋友跟着小编一起学习吧URLConnection是个抽象类&#xff0c;它有两个直接子类分别是HttpURLConnection和JarURLConnection。另外一个重…

Linux服务器---流量监控MRTG

MRTGMRTG可以分析网络流量&#xff0c;但是它必须依赖SNMP协议。将收集到的数据生成HTML文件&#xff0c;以图片的形式展示出来1、安装一些依赖软件[rootlocalhost bandwidthd-2.0.1]#yum install -y net-snmp2、配置snmp&#xff0c;编辑配置文件“/etc/snmp/snmpd.conf”[roo…

Hibernate中get和load方法的区别

原文地址: Hibernate中get和load方法的区别这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别&#xff0c;其实这个在网上有很多的论述&#xff0c;可大多语焉不详或经不起实践的推敲&#xff0c;让很多初学者学的满腹疑窦&#xff0c;现在我给大家讲解一下&…

ANDROID下载时候带PROGRESS的通知栏实现

ANDROID下载时候带PROGRESS的通知栏实现下面是要实现的效果。这个demo&#xff0c;主要实现的功能有&#xff1a;多线程上传&#xff0c;断点续传&#xff0c; Notification的使用。多线程下载的主要原理是&#xff0c;对要下载的文件进行分割&#xff0c;每个线程取一个独立的…

技术和业务,职业规划时,你选择哪一个?

原文地址: 技术和业务&#xff0c;职业规划时&#xff0c;你选择哪一个&#xff1f; 方向很简单&#xff0c; 一个是努力研究技术&#xff0c;包括更底层的&#xff0c;用来解决任何问题&#xff0c;属于自上向下发展。 另一个&#xff0c;熟悉某个行业&#xff0c;属于从下向上…

TextView显示系统时间(秒针变化)

TextView显示系统时间(秒针变化)很长时间没有写博客了&#xff0c;发现自己慢慢的便懒了&#xff0c;不想动&#xff0c;一个呢&#xff0c;是天气比较热&#xff0c;昨天还是39.5呢&#xff0c;二来最近比较忙&#xff0c;今天有点闲暇时间&#xff0c;就把以前忘记的知识都整…

vi命令——修改文件内容

以下内容转载自http://blog.csdn.net/bruce0532/article/details/7842384 vi编辑器是所有Unix及Linux系统下标准的编辑器&#xff0c;介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本&#xff0c;vi编辑器是完全相同的&#xff0c;因此您可以在其他任何介绍v…