服務端: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