Webservice開發
1. 發布環境:win2000 Professional + JDK1.4.2_03 + Tomcat5
2. 下載Axis,解壓縮,將其webapps目錄下的axis拷貝到tomcat的webapps目錄下,進行訪問測試,http://localhost:8080/axis/ 出現正常頁面即可。
3. 下載包含wtp的Eclipse,解壓縮
4. 新建動態Web Project,比如ca3,將axis下的jar包導入該項目的編譯環境里,在JavaSource中寫java程序比如caSynrochnized,寫好后,在上面點右鍵,選擇Create Web Service按照默認設置,即可生成Web Service
在tomcat下部署
5. 生成后,將eclipse下ca3\.deployables下的ca3目錄拷貝到tomcat的webapps目錄下
6. 設置axis的環境變量,如下
a) AXIS_HOME E:\Tomcat5.0\webapps\axis
b) AXIS_LIB %AXIS_HOME%\WEB-INF\lib
c) Classpath .;%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar; %AXIS_LIB%\wsdl4j-1.5.1.jar;
7. 在E:\Tomcat 5.0\webapps\ca3\WEB-INF\caSynrochnizedService\com\hshz\ca找到deploy.wsdd文件,在dos命令行狀態下進入上面目錄,運行以下命令進行發布 java org.apache.axis.client.AdminClient deploy.wsdd
8. 在IE中輸入http://localhost:8080/ca3/services可以看到已發布的webservice
在E:\Tomcat 5.0\webapps\ca3\wsdl目錄下找到wsdl文件,最后幾行比如<wsdlsoap:address location="http://localhost:8080/ca3/services/caSynrochnized"/>其中的location才是web Service相互調用的地址,另外localhost改為自己的IP地址。
Webservice的重新部署
對于已發布的服務,修改接口后,直接將發布目錄下的wsdl,以及wsdd,classes,service文件夾拷貝到tomcat相應目錄下,不用重新發布即可。可先在瀏覽器中輸入地址/services進行查看。
部署時可能遇到的問題
1) 在dos窗口下執行java org.apache.axis.client.AdminClient deploy.wsdd命令時,出現404錯誤,此時可能你的tomcat服務器沒有啟動,請先啟動tomcat服務器。
2) 不同系統安裝相同的jdk版本,發布webservice服務時,可能會出現unsupportedVersionException,如果在IE下敲入http://localhost:8080/java-oa/services,發現服務已經發布成功,并且點wsdl鏈接能夠顯示wsdl文件,則此錯誤可以忽略
3) 如果發現在啟動tomcat時,出現server-config.wsdd文件需要type,handle一類的錯誤,則有可能你的應用下存在gnujaxp.jar,因為這個jar包會與axis所需要的jar包相沖突,將gnujaxp.jar拷貝到common\lib下即可。
4) 如果webservice中的方法名字或者參數名或者參數數目,更改后需要重新發布webservice
提供webservice中的程序在方法名,參數不變的情況下,重新編譯后只需要覆蓋原來的類即可。