java-webservice的簡單實現


服務端:

  1.創建正常j2ee項目,創建service接口

 1 package service;  2 import javax.jws.WebMethod;  3 import javax.jws.WebService;  4 
 5 /**
 6  * WebService2  7  */
 8 @WebService  9 public interface HelloService { 10 
11  @WebMethod 12     String sayHello(String name, int i); 13     
14 }

實現類:

 1 package service.impl;  2 
 3 import javax.jws.WebService;  4 
 5 import service.HelloService;  6 
 7 /**
 8  * HelloServiceImpl  9  */
10 @WebService 11 public class HelloServiceImpl implements HelloService { 12 
13  @Override 14     public String sayHello(String name, int i) { 15         System.out.println("服務端的服務被調用了............"); 16         return "hello" + name; 17  } 18 
19 
20     
21 }

發布服務:

 1 package service;  2 
 3 import javax.xml.ws.Endpoint;  4 
 5 import service.impl.HelloServiceImpl;  6 
 7 
 8 /**
 9  * ServicePublish 10  */
11 public class ServicePublish { 12 
13     public static void main(String[] args) { 14         String address = "http://localhost:8099/hello"; 15         Object implementor = new HelloServiceImpl(); 16  Endpoint.publish(address, implementor); 17         System.out.println("發布成功"); 18  } 19 }

直接運行main方法啟動服務端,然后再瀏覽器訪問: http://localhost:8099/hello?wsdl 

看到如下,說明發布成功

 

 

客戶端:

  1.用wsimport 工具解析wsdl生成代碼

   wsimport -s "生成代碼的物理路徑" http://localhost:8099/hello?wsdl 

  2.,生成的代碼如圖(服務端類的名稱不一樣,生成結果也不一樣)

       3.創建一個測試類調用測試

   

 1 package client;  2 
 3 /**
 4  * 1.通過wsimport解析wsdl創建代碼  5  * 2.通過本地代碼創建代理  6  * 3.通過代理對象調用方法  7  * WsClient  8  */
 9 public class WsClient { 10     public static void main(String[] args) { 11         HelloServiceImplService ss = new HelloServiceImplService(); 12         HelloServiceImpl prosy = ss.getHelloServiceImplPort(); 13         String res = prosy.sayHello("佩佩", 33); 14  System.out.println(res); 15  } 16     
17 }

 

  備注:

  以上環境是基於jdk1.8

 


免責聲明!

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



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