咱們在作系統集成時,常常會須要調用webservice接口,本文將講解在myeclipse中創建一個webservice項目,編寫接口和實現類,而且發佈webservice,最後在myeclipse中創建客戶端調用發佈的webservice接口,而且對接口進行測試。本文在結束時提供了測試中使用到的全部源代碼。web
友情提示,本文使用的工具爲myeclipse 8.5。eclipse
一、第一步,在myeclipse中創建一個webservice項目。工具
輸入項目名爲WebService,選擇XFire,以下圖所示。測試
選擇Next,以下圖spa
再選擇Next,以下圖。3d
最後點擊Finish,就創建好了一個WebService項目。code
二、編寫接口HelloService和接口實現類HelloServiceImpl,代碼以下xml
package com.service; public interface HelloService { public String hello(); }
package com.service.impl; import com.service.HelloService; public class HelloServiceImpl implements HelloService { public String hello() { return "Hello World..."; } }
三、在WebService項目下的services.xml中配置發佈的接口,配置以下:blog
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>MyService</name> <serviceClass>com.service.HelloService</serviceClass> <implementationClass>com.service.impl.HelloServiceImpl</implementationClass> </service> </beans>
四、將此WebService項目發佈到Tomcat中,本人測試使用的是Tomcat 6.0,首先須要將Tomcat 6.0配置到myeclipse,而後經過myeclipse將項目發佈到Tomcat中,而且啓動Tomcat,這裏省略,啓動後,在IE中輸入訪問地址http://127.0.0.1:9999/WebService/services,進行訪問,其中127.0.0.1爲本機IP,9999爲Tomcat配置的端口號,WebService爲項目發佈的名稱,services爲web.xml文件中配置的Servlet訪問地址,訪問後以下圖所示。接口
點擊MyService 右邊的[wsdl],能夠看到咱們發佈的WSDL地址爲http://127.0.0.1:9999/WebService/services/MyService?wsdl,至此咱們已經實現了創建WebService項目,而且發佈一個簡單的WebService接口。
五、在Myeclipse中創建客戶端調用WebService發佈的接口,而且進行測試。
5-一、首先在Myeclipse中再創建一個WebService項目,項目名爲WebServiceClient,創建過程同上。以後在WebServiceClient中創建客戶端鏈接咱們發佈的WebService接口。
5-二、在WebServiceClient中創建客戶端。選中WebServiceClient項目,選擇New下的Other,以下圖所示。
選擇Other後,以下圖。
選擇Web Service Client,點擊[Next],以下圖。
輸入信息如上圖後,點擊[Next],以下圖。
輸入數據如上圖,WSDL URL爲咱們發佈的WSDL地址,這裏咱們選擇了包com.client做爲測試代碼的存放位置,點擊【Next】,以下圖。
在上圖中對WSDL進行校驗,上圖顯示校驗未發現錯誤,點擊【Next】,以下圖。
點擊【Finish】就完成了創建客戶端,而且從咱們發佈的WebService接口中下載代碼到客戶端上,以下圖
在上圖中,咱們能夠看到從咱們發佈的WebService接口中下載的代碼,下面咱們將使用MyServiceClient類調用咱們發佈的WebService接口,對接口進行測試。
5-三、在WebServiceClient項目中打開MyServiceClient類,咱們在main方法中添加一行控制檯輸出代碼,以下
public static void main(String[] args) { MyServiceClient client = new MyServiceClient(); //create a default service endpoint MyServicePortType service = client.getMyServiceHttpPort(); System.out.println(service.hello());//新添加的測試代碼 //TODO: Add custom client code here // //service.yourServiceOperationHere(); System.out.println("test client completed"); System.exit(0); }
點擊鼠標右鍵,選擇Run as - Java Application,執行main方法,以下圖。
控制檯輸出結果爲:
由上圖能夠看到,咱們成功經過客戶端調用了發佈的WebService接口中的方法。
service.hello(); hello方法爲咱們編寫的HelloServiceImpl類中的hello方法。