WebService應用--使用java開發WebService程序


使用Eclipse開發第一個WebService程序,本示例采用的工具為Spring-Tool-Suite,和Eclipse沒有本質的區別,開發環境jdk1.7

一、開發步驟:

1.新建名為WebService項目

 

新建HelloService類,放在com.test.webservice包下

下面進行服務端程序的編寫:

 1 package com.test.webservice;
 2 import javax.jws.WebService;
 3 import javax.xml.ws.Endpoint;
 4 //加入WebService注解,注意包的名字不要引用錯了
 5 @WebService
 6 public class HelloService {
 7     /**
 8      * 該方法共客戶端調用,返回字符串
 9      * @param name
10      * @return
11      * @return String
12      */
13     public String getValue(String name){
14         return "Hello"+name;
15     }
16     /**
17      * main方法用來發布服務端到localhost本地,第二個參數為創建的本地對象
18      * @param args
19      * @return void
20      */
21     public static void main(String[] args) {
22         Endpoint.publish("http://localhost:1008/service/serviceHello", new HelloService());
23         System.out.println("發布成功!");
25     }
27 }

運行,對該類進行編譯,結果如下:

瀏覽器中輸入:http://localhost:1008/service/serviceHello?wsdl,可以看到一下信息,說明編譯成功!

2.接下來生成客戶端

2.1生成客戶端程序可以新建另外一個WebService項目,也可以在原有的項目基礎上新建一個包,為方便這里采用第二種方法:新建名為client的包

2.2打開命令提示窗口執行生成命令。

格式:wsimport -s "src目錄" -p “生成類所在包名” -keep “wsdl發布地址”

示例:

C:\Users\wangsj>wsimport -s E:\\workingFoilder\\projectSpace\\webservice\\src -p com.test.webservice.client -keep http://localhost:1008/service/serviceHello?wsdl

說明:

1)"src目錄"地址不可含空格

2)“wsdl發布地址”不要漏了“?wsdl”

 

沒有報錯,說明編譯成功!刷新項目可一看到生成了客戶端響應的類:

3、新建測試類,進行測試

 1 package com.test.webservice.test;
 2 //注意,包名不能引用錯了
 3 import com.test.webservice.client.HelloService;
 4 import com.test.webservice.client.HelloServiceService;
 5 public class Test {
 6 
 7     public static void main(String[] args) {
 8         //初始化對象並獲得端口
 9         HelloService sh=new HelloServiceService().getHelloServicePort();
10         //調用服務端方法
11         String name=sh.getValue(" WebService");
12         System.out.println(name);
13     }
14 
15 }

運行可以看到運行結果,證明第一個WebService程序創建成功!

四、總結

1、如果運行過程中出現異常例如:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?,說明當前JDK版本過低,建議升級到1.7版本再試。

2、如果路徑寫錯,或者路徑中含有空格,則會報一下錯誤,我在寫的時候就寫錯了,所以寫路徑的時候一定要認真

3、末尾的wsdl一定不要丟。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM