程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> WebService大講堂之Axis2(10):使用soapmonitor模塊監視soap請求與響應消息

WebService大講堂之Axis2(10):使用soapmonitor模塊監視soap請求與響應消息

編輯:關於JAVA

在Axis2中提供了一個Axis2模塊(soapmonitor),該模塊實現了與《WebService大講堂之Axis2(9): 編寫Axis2模塊(Module)》中實現的logging模塊相同的功能,所不同的是,logging模塊直接將SOAP請 求與響應消息輸出到Tomcat控制台中,而soapmonitor模塊利用applet直接在頁面中輸出SOAP請求和響應 消息。

下面是配置和使用soapmonitor模塊的步驟:

第1步:部署Applet和Servlet

由於axis2默認情況下已經自帶了soapmonitor模塊,因此,soapmonitor模塊並不需要單獨安裝。但 applet所涉及到的相應的.class文件需要安裝一下。在<Tomcat安裝目錄>\webapps\axis2\WEB- INF\lib目錄中找到soapmonitor-1.4.1.jar文件,將該文件解壓。雖然applet並不需要soapmonitor- 1.4.1.jar文件中所有的.class文件,但為了方便,讀者也可以直接將解壓目錄中的org目錄復制到 <Tomcat安裝目錄>\webapps\axis2目錄中,Applet所需的.class文件需要放在這個目錄。然後再將 org目錄復制到<Tomcat安裝目錄>\webapps\axis2\WEB-INF\classes目錄中,soapmonitor模塊中的 Servlet所對應的.class文件需要放在這個目錄。

第2步:配置Servlet

打開<Tomcat安裝目錄>\webapps\axis2\WEB-INF\web.xml文件,在其中加入如下的內容:

<servlet>
   <servlet-name>SOAPMonitorService</servlet-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>

第3步:在services.xml文件中引用soapmonitor模塊

與引用logging模塊一樣,引用soapmonitor模塊也需要使用<module>元素,引用soapmonitor模 塊的services.xml文件的內容如下:

<service name="myService">
    <description>
        使用logging和soapmonitor模塊
    </description>
    <!--  引用logging模塊  -->
    <module ref="logging"/>
    <!--  引用soapmonitor模塊  -->
    <module ref="soapmonitor"/>
    <parameter name="ServiceClass">
        service.MyService   
    </parameter>
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
            class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    </messageReceivers>
</service>

由於soapmonitor模塊已經在axis2.xml進行配置了,因此,在本例中不需要再對axis2.xml文件進行配 置了。

第4步:使用soapmonitor模塊

啟動Tomcat後,在浏覽器中輸入如下的URL:

http://localhost:8080/axis2/SOAPMonitor

在浏覽器中將出現soapmonitor所帶的Applet的界面,當訪問MyService的getGreeting方法時,在 Tomcat控制台與Applet中都顯示了相應的SOAP請求和響應消息。如圖1和圖2分別是調用了兩次 getGreeting方法後輸出的SOAP請求和響應消息。

圖1

圖2

如果讀者想讓logging和soapmonitor模塊監視部署在Axis2中的所有WebService,可以在axis2.xml文 件中使用<module>元素來引用這兩個模塊,代碼如下:

<!-- 引用logging模塊 -->
<module ref="logging"/>
<!-- 引用soapmonitor模塊 -->
<module ref="soapmonitor"/>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved