Web 服務(wù)的開發(fā)經(jīng)驗(yàn)總結(jié)2(TCPMonitor監(jiān)聽SOAP消息)
Web服務(wù)的開發(fā)經(jīng)驗(yàn)總結(jié)2(TCPMonitor監(jiān)聽SOAP消息)
在web服務(wù)的開發(fā)當(dāng)中,難免要對(duì)sopa消息進(jìn)行分析以及保存。AXIS提供了一個(gè)很好的應(yīng)用工具,那就是
TCPMonitor.TCPMonitor相當(dāng)于一個(gè)代理。它的基本原理如下,
在沒有TCPMonitor之前,client會(huì)直接呼叫service,如果service的名稱為:8080/testWebservice,那么,客戶端必須將該服務(wù)的名稱以及端口設(shè)定在程序里。如果想利用TCPMonitor來監(jiān)聽送以及接收的SOAP信息,client端必須先呼叫
TCPMonitor,假設(shè)TCPMonitor的端口設(shè)置為1234,則客戶端調(diào)用:1234/testWebservice就可以訪問服務(wù)端得web服務(wù)了,TCPMonitor會(huì)把服務(wù)的請(qǐng)求轉(zhuǎn)發(fā)給Web服務(wù)的原來發(fā)布的端口,這樣相當(dāng)于一個(gè)代理,這樣就可以看到SOAP消息啦。服務(wù)器端傳回的Soap消息也先傳給TCPMonitor,然后再轉(zhuǎn)發(fā)給客戶端。
TCPMonitor的啟動(dòng)方式如下。
1.運(yùn)行AXIS
2.在環(huán)境變量里設(shè)置AXIS的classpath。如設(shè)置的環(huán)境變量名稱為AXISCLASSPATH。
3.進(jìn)入cmd"模式。
4.在AXIS部署的程序目錄下,輸入java
-cp%AXISCLASSPATH%org.apache.axis.utils.tcpmon,下面就是我本機(jī)的示范。
C:/ProgramFiles/jakarta-tomcat-4.1.30/webapps/star/WEB-INF>java-cp%AXISCLASSPATH%org.apache.axis.utils.tcpmon
擴(kuò)展閱讀:WebService大講堂之Axis2(10):使用soapmonitor模塊監(jiān)視soap請(qǐng)求與響應(yīng)消息
本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!
上一篇:WebService大講堂之Axis2(9):編寫Axis2模塊(Module)
在Axis2中提供了一個(gè)Axis2模塊(soapmonitor),該模塊實(shí)現(xiàn)了與《WebService大講堂之Axis2(9):編寫Axis2模塊(Module)》中實(shí)現(xiàn)的logging模塊相同的功能,所不同的是,logging模塊直接將SOAP請(qǐng)求與響應(yīng)消息輸出到Tomcat控制臺(tái)中,而soapmonitor模塊利用applet直接在頁面中輸出SOAP請(qǐng)求和響應(yīng)消息。下面是配置和使用soapmonitor模塊的步驟:第1步:部署Applet和Servlet
由于axis2默認(rèn)情況下已經(jīng)自帶了soapmonitor模塊,因此,soapmonitor模塊并不需要單獨(dú)安裝。但applet所涉及到的相應(yīng)的.class文件需要安裝一下。在\\webapps\\axis2\\WEB-INF\\lib目錄中找到soapmonitor-1.4.1.jar文件,將該文件解壓。雖然applet并不需要soapmonitor-1.4.1.jar文件中所有的.class文件,但為了方便,讀者也可以直接將解壓目錄中的org目錄復(fù)制到\\webapps\\axis2目錄中,Applet所需的.class文件需要放在這個(gè)目錄。然后再將org目錄復(fù)制到\\webapps\\axis2\\WEB-INF\\classes目錄中,soapmonitor模塊中的Servlet所對(duì)應(yīng)的.class文件需要放在這個(gè)目錄。第2步:配置Servlet
打開\\webapps\\axis2\\WEB-INF\\web.xml文件,在其中加入如下的內(nèi)容:
SOAPMonitorService
org.apache.axis2.soapmonitor.servlet.SOAPMonitorServiceSOAPMonitorPort5001
1SOAPMonitorService/SOAPMonitor
第3步:在services.xml文件中引用soapmonitor模塊
與引用logging模塊一樣,引用soapmonitor模塊也需要使用元素,引用soapmonitor模塊的services.xml文件的內(nèi)容如下:
使用logging和soapmonitor模塊
service.MyService
由于soapmonitor模塊已經(jīng)在axis2.xml進(jìn)行配置了,因此,在本例中不需要再對(duì)axis2.xml文件進(jìn)行配置了。第4步:使用soapmonitor模塊
啟動(dòng)Tomcat后,在瀏覽器中輸入如下的URL:
:8080/axis2/SOAPMonitor
在瀏覽器中將出現(xiàn)soapmonitor所帶的Applet的界面,當(dāng)訪問MyService的getGreeting方法時(shí),在Tomcat控制臺(tái)與Applet中都顯示了相應(yīng)的SOAP請(qǐng)求和響應(yīng)消息。如圖1和圖2分別是調(diào)用了兩次getGreeting方法后輸出的SOAP請(qǐng)求和響應(yīng)消息。
圖
圖2
如果讀者想讓logging和soapmonitor模塊監(jiān)視部署在Axis2中的所有WebService,可以在axis2.xml文件中使用元素來引用這兩個(gè)模塊,代碼如下:
友情提示:本文中關(guān)于《Web 服務(wù)的開發(fā)經(jīng)驗(yàn)總結(jié)2(TCPMonitor監(jiān)聽SOAP消息)》給出的范例僅供您參考拓展思維使用,Web 服務(wù)的開發(fā)經(jīng)驗(yàn)總結(jié)2(TCPMonitor監(jiān)聽SOAP消息):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。