使用Axis,要發(fā)布一個Web服務(wù)非常簡單,簡直不能再簡單了,盡管看起來過程和相關(guān)代碼有些長。我這個帖子里用到了這些軟件:Axis 1.1、Eclipse 2.1和Eclipse的Tomcat插件2.2(Sysdeo Tomcat plugin)。發(fā)布的方法如下:
我要發(fā)布的服務(wù)是一個圖書商店,公布的方法有添加圖書addBook、列表圖書listBooks、刪除圖書deleteBook等等,為簡單起見這里就只發(fā)布一個添加圖書方法,因為其他方法的發(fā)布是類似的。
1、首先在Eclipse里新建一個名為bookstore的Tomcat工程,注意要安裝了前面說的Tomcat插件才有這個選項的。如果沒有安裝可以建立一個java工程,然后手動建立必要的目錄結(jié)構(gòu)(WEB-INF等),并在Tomcat的server.xml里手動增加與項目對應(yīng)的<context>項。
2、接下來建立圖書類(com.bookstore.model.Book),圖書有名稱、ISDN號和頁數(shù)三個屬性,這是一個Bean類,代碼如下:

































3、接下來建立用來提供服務(wù)的類(com.bookstore.BookSvc),這個類就是實際的功能類了,它里面只有一個public的addBook()方法,而它的參數(shù)只有一個就是要添加的圖書。代碼如下:












4、現(xiàn)在,把下載來的Axis解壓縮到一個文件夾,這里假設(shè)你解到C:\axis-1_1。把C:\axis-1_1\webapps\axis\WEB-INF\lib目錄下的所有.jar文件復(fù)制到你的這個web應(yīng)用程序的WEB-INF\lib下,再把C:\axis-1_1\webapps\axis\WEB-INF目錄下的web.xml復(fù)制到你的web應(yīng)用程序的WEB-INF下。這個步驟相當(dāng)于在你的web應(yīng)用程序中配置了Axis。
5、為了讓Axis知道你要發(fā)布哪些服務(wù),你得在WEB-INF下建立一個名為server-config.wsdd的文件,內(nèi)容如下:

















































這個文件里發(fā)布了三個服務(wù):Version、AdminService和我們的BookSvc。還有一個方法可以生成這個文件,好象Axis推薦使用這種生成的方法,就是在同樣目錄下寫一個deploy.wsdd文件(如果不想看可以直接跳到下一步),內(nèi)容如下:







也就是說deploy.wsdd里只包含關(guān)于我們的服務(wù)的描述,確認(rèn)Tomcat已經(jīng)啟動,然后在同一目錄下用下面這個命令生成server-config.wsdd文件:

其中bookstore是我這個web應(yīng)用程序的虛擬路徑。
6、重新啟動Tomcat,訪問路徑http://localhost:8080/bookstore/services,就可以看到現(xiàn)在發(fā)布了三個Web服務(wù),如下圖。點擊每個服務(wù)后的wsdl鏈接可以看到對應(yīng)的WSDL描述。