與大家共同成長
本例子的WebService提供了兩個方法,分別是sayHello和sayHelloToPerson,第一個只是返回一個"Hello"字符串,沒 有參數,第二個函數接受一個字符串作為參數,返回"Hello 參數值",該例子比較簡單,但是清楚的說明了從編寫代碼到發布為WebService以及測試編寫好的WebService全過程。
服務代碼提供了兩個函數,分別為sayHello和sayHelloToPerson,源代碼如下:
要將上邊寫的HelloService類發布為WebService,需要先搭建Web應用。下面是在Tomcat下使用Axis創建WebService服務的例子。
在該例子中,在Tomcat下創建了一個context path為ws的WEB應用。
1. 在Tomcat的webapps下創建如下文件系統
ws
WEB-INF
lib
classes
2. 在WEB-INF文件夾下創建web.xml文件,該文件的內容如下:
在上面的web.xml中主要是配置了axis的相關配置。
在上述的web.xml文件中已經對axis進行了配置,但是還需要進行額外的配置。
復制axis相關的jar文件
將axis的相關jar文件復制到WEB-INF"lib文件夾下。這些文件包括:
activation.jar axis.jar axis-ant.jar axis-schema.jar commons-discovery-0.2.jar commons-logging-1.0.4.jar jaxrpc.jar log4j-1.2.8.jar mailapi.jar saaj.jar wsdl4j-1.5.1.jar xmlsec-1.3.0.jar
復制WebService服務主文件
將HelloService.java編譯后的class文件復制到WEB-INF"classes文件夾下,也就是說在WEB-INF "classes文件夾下的文件夾結構為:com"sinosoft"webservice,在webservice文件夾下有一個 helloservice.class文件。
啟動Tomcat服務,打開IE瀏覽器,訪問地址http:host:port/ws/services,如果看到如下界面就說明AXIS部署成功了。
發布WebService需要使用現有的AdminService來實現,這里我寫了一個批處理文件來發布WebService,以后如果需要發布其他文件,只需要修改相應的參數就可以了。
文件deploy.wsdd內容如下所示:
批處理文件deploywebservice.bat內容如下:
其中E:"Stephen"Lib"axislib是存放axis對應的jar文件的文件夾,現在將所有的jar文件都加入到classpath中進行執行。
-l后的參數是本地要發布WebService的AdminService對應的訪問地址。
最后deploy.wsdd是對應的配置文件名稱。
將deploy.wsdd文件和deploywebservice.bat文件復制到同一個文件夾下,執行deploywebservice.bat批處理文件,就可以將deploy.wsdd中描述的Java類發布為WebService。發布完成之后在訪問http://host:port/ws/services如下圖所示:
從上圖可以看出,發布成功后,多了一個HelloServices的服務。這樣就說明HelloService發布成功了。
訪問http://host:port/ws/services/HelloServices?wsdl可以看到如下wsdl的內容:
下面是用Java調用剛發布的WebService例子。
Copyright @ 小菜毛毛 Powered by: .Text and ASP.NET Theme by: .NET Monster