WebService大講堂之Axis2(10):使用soapmonitor模塊監(jiān)視soap請(qǐng)求與響應(yīng)消息
本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!
上一篇:WebService大講堂之Axis2(9):編寫(xiě)Axis2模塊(Module)
在Axis2中提供了一個(gè)Axis2模塊(soapmonitor),該模塊實(shí)現(xiàn)了與《WebService大講堂之Axis2(9):編寫(xiě)Axis2模塊(Module)》中實(shí)現(xiàn)的logging模塊相同的功能,所不同的是,logging模塊直接將SOAP請(qǐng)求與響應(yīng)消息輸出到Tomcat控制臺(tái)中,而soapmonitor模塊利用applet直接在頁(yè)面中輸出SOAP請(qǐng)求和響應(yīng)消息。
下面是配置和使用soapmonitor模塊的步驟:
第1步:部署Applet和Servlet
由于axis2默認(rèn)情況下已經(jīng)自帶了soapmonitor模塊,因此,soapmonitor模塊并不需要單獨(dú)安裝。但applet所涉及到的相應(yīng)的.class文件需要安裝一下。在<Tomcat安裝目錄>\webapps\axis2\WEB-INF\lib目錄中找到soapmonitor-1.4.1.jar文件,將該文件解壓。雖然applet并不需要soapmonitor-1.4.1.jar文件中所有的.class文件,但為了方便,讀者也可以直接將解壓目錄中的org目錄復(fù)制到<Tomcat安裝目錄>\webapps\axis2目錄中,Applet所需的.class文件需要放在這個(gè)目錄。然后再將org目錄復(fù)制到<Tomcat安裝目錄>\webapps\axis2\WEB-INF\classes目錄中,soapmonitor模塊中的Servlet所對(duì)應(yīng)的.class文件需要放在這個(gè)目錄。
第2步:配置Servlet
打開(kāi)<Tomcat安裝目錄>\webapps\axis2\WEB-INF\web.xml文件,在其中加入如下的內(nèi)容:
<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文件的內(nèi)容如下:<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模塊已經(jīng)在axis2.xml進(jìn)行配置了,因此,在本例中不需要再對(duì)axis2.xml文件進(jìn)行配置了。
第4步:使用soapmonitor模塊
啟動(dòng)Tomcat后,在瀏覽器中輸入如下的URL:http://localhost:8080/axis2/SOAPMonitor
在瀏覽器中將出現(xiàn)soapmonitor所帶的Applet的界面,當(dāng)訪(fǎng)問(wèn)MyService的getGreeting方法時(shí),在Tomcat控制臺(tái)與Applet中都顯示了相應(yīng)的SOAP請(qǐng)求和響應(yīng)消息。如圖1和圖2分別是調(diào)用了兩次getGreeting方法后輸出的SOAP請(qǐng)求和響應(yīng)消息。
圖1
圖2
如果讀者想讓logging和soapmonitor模塊監(jiān)視部署在Axis2中的所有WebService,可以在axis2.xml文件中使用<module>元素來(lái)引用這兩個(gè)模塊,代碼如下:
<module ref="logging"/>
<!-- 引用soapmonitor模塊 -->
<module ref="soapmonitor"/>
《Android開(kāi)發(fā)完全講義(第2版)》(本書(shū)版權(quán)已輸出到臺(tái)灣)
http://product.dangdang.com/product.aspx?product_id=22741502
《Android高薪之路:Android程序員面試寶典 》http://book.360buy.com/10970314.html
新浪微博:http://t.sina.com.cn/androidguy 昵稱(chēng):李寧_Lining
posted on 2009-02-17 09:22 銀河使者 閱讀(9222) 評(píng)論(8) 編輯 收藏 所屬分類(lèi): java 、 原創(chuàng) 、webservice