IDEA創建Web Service服務端和客戶端


1.  創建服務端

  第一步:File–>New–>Project;我這里使用原生JDK來開發Web Service Server服務,所以不勾選Generate Sample Server Code,意思是不使用Apache Axis,也不生成Apache Axis代碼。選中Set up library later表示暫時不設置依賴包。

    

 

  第二步:輸入項目名稱

    

   

  項目結構如下:

    

 

    PublishWebService.java

 1 package com.suns.webservice.server;
 2 
 3 import com.suns.webservice.server.service.impl.HelloServiceImpl;
 4 
 5 import javax.xml.ws.Endpoint;
 6 
 7 
 8 public class PublishWebService {
 9 
10     public static void main(String[] args) {
11         String adress = "http://127.0.0.1:8080/webservice/sayHello";
12         Endpoint.publish(adress, new HelloServiceImpl());
13         System.out.println("web service服務端發布成功");
14     }
15 }

 

  HelloService.java

 1 package com.suns.webservice.server.service;
 2 
 3 import javax.jws.WebMethod;
 4 import javax.jws.WebService;
 5 
 6 @WebService
 7 public interface HelloService {
 8     @WebMethod
 9     String sayHello(String name);
10 }

 

  HelloServiceImpl.java

 1 package com.suns.webservice.server.service.impl;
 2 
 3 import com.suns.webservice.server.service.HelloService;
 4 
 5 import javax.jws.WebService;
 6 
 7 @WebService
 8 public class HelloServiceImpl implements HelloService {
 9     @Override
10     public String sayHello(String name) {
11         System.out.println("server sayHello()" + name);
12         return "Hello" + name;
13     }
14 }

 

  運行PublishWebService中main函數,發現web service服務正常持續運行

 

  訪問http://127.0.0.1:8080/webservice/sayHello?wsdl獲取wsdl文件,把wsdl文件導入到SoapUI,訪問web service服務。結果如下:

 

 2. 創建web service客戶端

  第一步:File–>New–>Project;我這里使用原生JDK來開發Web Service Client服務,所以不勾選Generate Sample Server Code,意思是不使用Apache Axis,也不生成Apache Axis代碼。選中Set up library later表示暫時不設置依賴包。

  

 

  第二步:輸入項目名稱

  

  

  項目結構如下:

    

  

  使用IDEA自帶CMD功能進入到src,通過JDK自帶wsimport功能來生成客戶端代碼

D:\Workspace\IDEA\web-service-client\src>wsimport -keep http://127.0.0.1:8080/webservice/sayHello?wsdl

 

  新建WebServiceClient.java文件來訪問服務端代碼

 1 package com.suns.webservice.client;
 2 
 3 import com.suns.webservice.server.service.impl.HelloServiceImplService;
 4 import com.suns.webservice.server.service.impl.HelloServiceImpl;
 5 
 6 public class WebServiceClient {
 7     public static void main(String[] args) {
 8         HelloServiceImplService factory = new HelloServiceImplService();
 9         HelloServiceImpl helloServiceImplPort = factory.getHelloServiceImplPort();
10         String response = helloServiceImplPort.sayHello("suns");
11         System.out.println(response);
12     }
13 }

 

  服務端測試結果:能正常收到客戶端傳過來suns,並打印

 

  客戶端測試結果:能正常收到服務端返回的結果並打印

 

 

 

  

 


免責聲明!

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



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