Java 編寫 Web Service——使用axis && axis2 (續)

使用axis2進行webservice的編寫:

axis2感覺和axis1完全不一樣,更智能化,但。。。越智能越摸不透了


1、下載axis2-1.6.2-bin、axis2-1.6.2-war 、axis2-eclipse-service-plugin-1.6.2.zip  三個包,下載地址 http後面是

axis2-1.6.2-war.zip

axis2-1.6.2-bin.zip

axis2-eclipse-service-plugin-1.6.2.zip

(該文件加壓後,將plugin文件放到eclipse的plugins目錄下,重啓eclipse)

2、解壓axis2-1.6.2-bin.zip,lib目錄下是axis2的類庫,需要加載到項目中


3、解壓axis2-1.6.2-war.zip,發現下面有一個文檔叫axis2.war的文件,很重要,

將此文件直接copy到tomcat的webapps目錄下,當重新開啓tomcat時,此文件將會被自動加載,

且在webapps目錄下面會新生成一個axis2的項目 文件夾,一個完整的項目

應該有axis2-web、META-INF、org、WEB-INF四個目錄,其中axis2-web與axis2-1.6.2-bin.zip中的一致


4、運行如下url   ,顯示如下,可以點擊進Services


5、進行webservice文件的編譯:

右鍵項目名稱,點擊new,選擇(回顧第一點的第三個文件,原本eclipse下面是沒有該選項的)


按照步驟,先選擇tomcat下要項目的web-inf\class文件夾,“Include.class file only”應該是勾選狀態,

Next(點選skip Wsdl),

next,

next(此處讓配置xml文件,可以選擇“Generate....”,不用配置,後面介紹幹嘛用的),

next (Outfilelocation:選擇路徑xxx\tomcat\webapps\axis2\web-inf\services,這裏的就是自動將webservice生效文件直接生成到了axis2的目錄下面)

(output File name:填寫webservice的名稱 whinfo),點擊 Finish,完成配置

到xxx\tomcat\webapps\axis2\web-inf\services下面看到一個新的文件whinfo.arr,可以解壓縮,發現其實就是將我們整個項目的class全部壓縮進來了

所以axis2在調用webservice的時候可以說和原項目根本沒有關係,只和webapps/axis2有關 ,原來的項目全被打包放進來了

其中whinfo.arr中有met-inf文件夾下的 service.xml文件,可以進行一些webservice參數的配置,如targetnamespace之類的


以上,全部完成,使用之前一篇的客戶端進行連接,測試ok(可以直接用ie測試,在url後面加上?message=xxxxxxxxxxxxxx)

但是,使用客戶提供的程式確無法連接,參數傳不過來,報arrayindexout錯誤。。。實在無語,搜索很多文章都沒能夠解決

客戶的程式是用axis編寫的,不知道是否和這個有關


之前用C#.NET、VB.net編寫的同樣的webservice也都是,自己測試完全ok,但是客戶的程式一旦調用就收不到參數。。。。。。。。。

可能是webservice的某些參數沒有確認到




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章