看了一些Java調用WebService介面的例子,很多都是Ctrl+C,Ctrl+V的,其中有很多拿來使用後發現有錯誤,令人鬱悶,特此寫了一篇經過測試的,只是一個小例子。
服務端(為用戶端提供Webservice介面):
使用工具:myeclipse-8.6.1-win32,apache-tomcat-7.0.11
開發步驟:1.建立工程
File->New->Web Service Project,彈出Web Service Project視窗,需要填寫Project Name(例子是Demo),選擇XFire,然後一路next,直到完成。
建立完成後,開啟產生的web.xml檔案,可以看到,XFire已經配置好了。
View Code <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
2.建立WebService服務
選擇Toolbars上的New Web Service,彈出New Web Service視窗,選擇Strategy:Create web service from Java class(Bottom-up scenario)並勾選下面的Create new Java bean,然後Next>,在Web service name中填寫MyService,在Java package欄點擊New...快顯視窗中Name:中填com.demo.service,然後點Finish。
完成後,產生了一個Service的配置services.xml
View Code <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>IMyService</name> <serviceClass>com.demo.service.IIMyService</serviceClass> <implementationClass> com.demo.service.IMyServiceImpl </implementationClass> <style>wrapped</style> <use>literal</use> <scope>application</scope> </service></beans>
產生了介面和預設實現:
View Code package com.demo.service; //Generated by MyEclipse public interface IIMyService { public String example(String message); }
View Code package com.demo.service; //Generated by MyEclipse public class IMyServiceImpl implements IIMyService { public String example(String message) { return message; } }
服務端代碼產生完畢。
測試服務端:1.前提:配置Tomcat伺服器,並完成WebService服務端的部署,然後啟動Tomcat。
2.選擇Toolbars上的Launch SOAP Web Service Explorer,Web Services Explorer視窗右側WSDL Page,輸入網址:http://localhost:8080/Demo/services/MyService?wsdl,顯顯示如