本文為原創,如需轉載,請注明作者和出處,謝謝!
下面是配置和使用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>
<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:
<a href="http://localhost:8080/axis2/SOAPMonitor">http://localhost:8080/axis2/SOAPMonitor</a>
在浏覽器中将出現soapmonitor所帶的Applet的界面,當通路MyService的getGreeting方法時,在Tomcat控制台與Applet中都顯示了相應的SOAP請求和響應消息。如圖1和圖2分别是調用了兩次getGreeting方法後輸出的SOAP請求和響應消息。
圖1
圖2
如果讀者想讓logging和soapmonitor子產品監視部署在Axis2中的所有WebService,可以在axis2.xml檔案中使用<module>元素來引用這兩個子產品,代碼如下: