java-webservice的簡單實現

服務端:java

  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 }

實現類:ide

 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 測試

看到以下,說明發布成功spa

 

 

客戶端:代理

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

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

  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

相關文章
相關標籤/搜索