由于要在公司以前的項目中集成webservie以供公司的其他客戶端調用,故今天在自己機子上安裝并并配置axis。
首先是開發環境:jdkj2sdk1.4.1_02,tomcat5.0.28,axis1.4
關于將axis安裝到tomcat下網上有很多,這里就不表述了。重點說下在時遇到的一些個問題。
首先在axis壓縮包中的axis工程拷貝到tomcat的webApps目錄后,訪問
http://localhost:端口號/axis,在這個地址中點擊validate連接查看是否有所需要加入的包。我在此

圖上可以看見有一個必須包和兩個可選包,按照圖上提示下載包文件并將以下activation.jar、mail.jar、tools.jar,xalan.jar,xmlsec-1.4.3.jar(tools可在jdk1.4的安裝目錄中找到)文件加入到axis項目的lib目錄中。
然后按照網上提供過的簡單例子寫個例子,通過wsdd發布。寫好例子并編寫號deploy.wsdd文件,將例子的class文件和wsdd文件放到axis項目的WEB-INF目錄下。通過cmd打開window控制臺到axis項目的WEB-INF目錄下,通過java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd處理wsdd文件。在此遇到如以下問題,解決方法如下:
Exception in thread "main " java.lang.NoClassDefFoundError:org/w3c/dom/Node--------請加入dom.jar;
Unsupported major.minor version--------------------檢查你的jdk版本,見下面括號內容
(Unsupported major.minor version 50.0
Unsupported major.minor version 49.0
Unsupported major.minor version 48.0
產生此問題的主要原因是:javac和java的版本不一致
-------------------------------------------------------------------
其中,48,49,50是Java編譯器內部的版本號
Unsupported major.minor version 50.0 對應于 JDK1.6(JRE1.6)
Unsupported major.minor version 49.0 對應于 JDK1.5(JRE1.5)
Unsupported major.minor version 48.0 對應于 JDK1.4(JRE1.4)
解決方法:打開CMD,運行如下java -version看是否和你的jdk相匹配,如果不匹配,請檢查你的path系統環境變量。當你在安裝某些軟件如oracle等時,這些軟件會將其使用的jdk配置在你的jdk版本前如:d:\oracle\product\10.1.0\Db_2\bin;G:\oracle\product\10.1.0\Db_2\jre\1.4.2\bin\client;d:\oracle\product\10.1.0\Db_2\jre\1.4.2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files\QuickTime\QTSystem\;c:\Program Files\Common Files\Adobe\AGL;c:\Program Files\Java\jdk1.6.0_07\bin;c:\Program Files\Java\jre1.6.0_07\bin;
此時只需將你的jdkPATH提前,問題就解決了。)
java.lang.NoClassDefFoundError: org/xml/sax/SAXException-----------從jdk的lib下拷貝rt.jar到axis的lib目錄下
當axis 編譯deploy wsdd時 報401錯誤---------請檢查你的tomcat的配置的端口是否是8080如不是將上面的編譯命令改為如下:
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -p8088 deploy.wsdd(8088是我的tomcat的端口號)
---------------------------
注意,如果不是在axis的webapps中axis項目話(即你自己的建webservice項目),編譯wsdd文件的命令內容為:java -Djava.ext.dirs=lib
org.apache.axis.client.AdminClient -lhttp://localhost:8088/testws/services/AdminService undeploy.wsdd