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

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

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

    列宿乃施于上榮兮 日月才經于柍桭

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

    基于Axis 1.X的Web Service開發(二)

    Posted on 2007-04-03 11:35 默認為零 閱讀(237) 評論(0)  編輯  收藏 所屬分類: 技術

      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文件,將下面的兩部分代碼直接加入其中相應的位置
      第一部分:

        <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、選擇你要監控的服務
      以上次的Hello服務為例,在server-config.wsdd中你會找到這段代碼:

        <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服務就被SOAP Monitor監控了。
          
      同樣,可以通過depoly-monitor.wsdd的方式發布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>

      啟動服務,在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功能,可以找來看看。

    主站蜘蛛池模板: 日本免费xxxx色视频| 最好免费观看高清在线| 免费毛片在线看片免费丝瓜视频 | 久久久久国产精品免费网站| 美女内射无套日韩免费播放 | 亚洲综合一区二区| AV激情亚洲男人的天堂国语| 一二三四免费观看在线视频中文版| 亚洲已满18点击进入在线观看| 在线观看H网址免费入口| 亚洲精品亚洲人成在线观看下载| 亚洲黄色高清视频| 免费黄色福利视频| 亚洲 暴爽 AV人人爽日日碰| 日韩av无码久久精品免费| 亚洲熟妇av一区| 精品久久久久久久免费人妻| 久久亚洲精品无码网站| 国产成人毛片亚洲精品| 亚洲aⅴ无码专区在线观看| 国产成人免费a在线视频色戒| 菠萝菠萝蜜在线免费视频| 亚洲愉拍99热成人精品热久久| 亚洲GV天堂GV无码男同| 免费在线一级毛片| 亚洲丶国产丶欧美一区二区三区| 国产大片51精品免费观看| 中国videos性高清免费| 久久亚洲熟女cc98cm| 在线免费观看一级毛片| 亚洲偷偷自拍高清| 在线a亚洲v天堂网2018| 久久久久久AV无码免费网站下载| 亚洲制服丝袜中文字幕| 亚洲日韩中文在线精品第一| 四虎成人精品永久免费AV| 亚洲国产无线乱码在线观看 | 久久精品国产精品亚洲人人| 亚洲av无码一区二区三区四区| 亚洲综合精品网站在线观看| 蜜臀AV免费一区二区三区|