<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    列宿乃施于上榮兮 日月才經(jīng)于柍桭

    ………… 白駒過隙 歲月如斯 夢(mèng)縈回繞 心靈之聲
    posts - 57, comments - 8, trackbacks - 0, articles - 41
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

      Handler的基本概念
      J2EE web service中的Handler技術(shù)特點(diǎn)非常像Servlet技術(shù)中的Filter。我們知道,在Servlet中,當(dāng)一個(gè)HTTP到達(dá)服務(wù)端時(shí),往往要經(jīng)過多個(gè)Filter對(duì)請(qǐng)求進(jìn)行過濾,然后才到達(dá)提供服務(wù)的Servlet,這些Filter的功能往往是對(duì)請(qǐng)求進(jìn)行統(tǒng)一編碼,對(duì)用戶進(jìn)行認(rèn)證,把用戶的訪問寫入系統(tǒng)日志等。相應(yīng)的,Web服務(wù)中的Handler通常也對(duì)soap請(qǐng)求和響應(yīng)包靈活操作,功能非常強(qiáng)大。

      使用Axis SOAP Monitor
      SOAP Monitor可以監(jiān)測(cè)Axis soap包的內(nèi)容,它是Axis內(nèi)置的Handler,不過它默認(rèn)并沒有發(fā)布,我們?cè)谛枰玫降臅r(shí)候可以發(fā)布之。
      1、到目錄%TOMCAT_HOME%\webapps\axis下,你會(huì)找到SOAPMonitorApplet.java,在命令行中編譯它:
                 javac -classpath %AXIS_HOME%\lib\axis.jar SOAPMonitorApplet.java
      編譯完之后你會(huì)看見目錄下多了很多CLASS文件,它們的名字是SOAPMonitorApplet*.class

      2、在目錄%TOMCAT_HOME%\webapps\axis\WEB-INF下打開server-config.wsdd文件,將下面的兩部分代碼直接加入其中相應(yīng)的位置
      第一部分:

        <handler name="soapmonitor"   type="java:org.apache.axis.handlers.SOAPMonitorHandler">
            
    <parameter name="wsdlURL"   value="/axis/SOAPMonitorService-impl.wsdl"/>
            
    <parameter name="namespace"   value="http://tempuri.org/wsdl/2001/12/SOAPMonitorService-impl.wsdl"/>
            
    <parameter name="serviceName" value="SOAPMonitorService"/>
            
    <parameter name="portName" value="Demo"/>
        
    </handler>

      第二部分:

        <service name="SOAPMonitorService" provider="java:RPC">
            
    <parameter name="allowedMethods" value="publishMessage"/>
            
    <parameter name="className"   value="org.apache.axis.monitor.SOAPMonitorService"/>
            
    <parameter name="scope" value="Application"/>
        
    </service>


      3、選擇你要監(jiān)控的服務(wù)
      以上次的Hello服務(wù)為例,在server-config.wsdd中你會(huì)找到這段代碼:

        <service name="Hello" provider="java:RPC">
            
    <parameter name="allowedMethods" value="sayHello"/>
            
    <parameter name="className" value="HelloWorld"/>
        
    </service>

      在這段代碼中加入以下的代碼:

        <requestFlow>
            
    <handler type="soapmonitor"/>
        
    </requestFlow>
        
    <responseFlow>
            
    <handler type="soapmonitor"/>
        
    </responseFlow>


      最后的樣子是:

        <service name="HelloWorld" provider="java:RPC">
            
    <requestFlow>
                
    <handler type="soapmonitor"/>
            
    </requestFlow>
            
    <responseFlow>
                
    <handler type="soapmonitor"/>
            
    </responseFlow>
            
    <parameter name="allowedMethods" value="sayHello"/>
            
    <parameter name="className" value="HelloWorld"/>
        
    </service>

      這樣Hello服務(wù)就被SOAP Monitor監(jiān)控了。
          
      同樣,可以通過depoly-monitor.wsdd的方式發(fā)布monitor:

        <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
            
    <handler name="soapmonitor" type="java:org.apache.axis.handlers.SOAPMonitorHandler">
                
    <parameter name="wsdlURL" value="/axis/SOAPMonitorService-impl.wsdl"/>
                    
    <parameter name="namespace" value="http://tempuri.org/wsdl/2001/12/SOAPMonitorService-impl.wsdl"/>
                
    <parameter name="serviceName" value="SOAPMonitorService"/>
                
    <parameter name="portName" value="Demo"/>
            
    </handler>

            
    <service name="SOAPMonitorService" provider="java:RPC">
                
    <parameter name="allowedMethods" value="publishMessage"/>
                
    <parameter name="className" value="org.apache.axis.monitor.SOAPMonitorService"/>
                
    <parameter name="scope" value="Application"/>
            
    </service>
        
    </deployment>

      啟動(dòng)服務(wù),在DOS下切換目錄到%TOMCAT_HOME%\webapps\axis\WEB-INF\目錄下,執(zhí)行下:
           java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy-monitor.wsdd
      然后,在需要監(jiān)測(cè)的web service里面加上<handler type="soapmonitor"/>就可以了。
      不過需要注意的是,服務(wù)通過JWS方式調(diào)用的話SOAP Monitor沒有監(jiān)控效果。
      同樣的道理,為自己的需求實(shí)現(xiàn)的Handler都可以通過這樣的方式發(fā)布在對(duì)應(yīng)的Web服務(wù)中。網(wǎng)上有很多關(guān)于諸如日志、數(shù)字簽名、加密之類的Handler功能,可以找來看看。

    主站蜘蛛池模板: 亚洲AV无码一区二区三区人 | 精品亚洲一区二区三区在线观看 | 免费无码又爽又刺激高潮视频| 亚洲AV无码国产丝袜在线观看| 免费人成视频在线观看网站 | 亚洲精品无码mv在线观看网站| 精品国产麻豆免费人成网站| 亚洲国产精品美女| 黄网址在线永久免费观看| jizz中国免费| 亚洲永久网址在线观看| 亚洲av日韩av永久在线观看| 亚洲国产精品无码专区在线观看 | sss日本免费完整版在线观看| 亚洲黄色片免费看| 日韩精品成人亚洲专区| 18未年禁止免费观看| 一级一片免费视频播放| 亚洲二区在线视频| 亚洲国产日韩一区高清在线| 国产成人青青热久免费精品| 久久精品人成免费| 久久久久女教师免费一区| 亚洲精品乱码久久久久蜜桃| 亚洲AV无码成人网站久久精品大| 女人18毛片a级毛片免费视频| 性xxxx视频免费播放直播| 又大又硬又粗又黄的视频免费看| 亚洲五月综合缴情婷婷| 亚洲人成网www| 亚洲精品在线观看视频| 亚洲日本乱码在线观看| 久久精品亚洲乱码伦伦中文| 国产免费私拍一区二区三区| 麻豆国产入口在线观看免费| 久草视频在线免费| 亚洲美女视频免费| 182tv免费视视频线路一二三| 免费无码中文字幕A级毛片| 无码少妇精品一区二区免费动态| 久久久国产精品福利免费|