webservice 入門(jdk簡單案例)
1. WebService簡介
Web Service——也叫XML Web Service WebService,是一種跨程式語言和跨作業系統平臺的遠端呼叫技術。
各個應用程式之間的交流就需要Web Service來作為相互交流的橋樑。
所謂跨程式語言和跨操作平臺,就是說服務端程式採用java編寫,客戶端程式則可以採用其他程式語言編寫,反之亦然!跨作業系統平臺則是指服務端程式和客戶端程式可以在不同的作業系統上執行。
所謂遠端呼叫,就是一臺計算機a上的一個程式可以呼叫到另外一臺計算機b上的一個物件的方法,把自己的系統服務以Web Service服務的形式暴露出來,讓第三方網站和程式可以呼叫這些服務功能
XML:(Extensible Markup Language)擴充套件型可標記語言。面向短期的臨時資料處理、面向全球資訊網絡,是Soap的基礎。
Soap:(Simple Object Access Protocol)簡單物件存取協議。是XML Web Service 的通訊協議。當用戶通過UDDI找到你的WSDL描述文件後,他通過可以SOAP呼叫你建立的Web服務中的一個或多個操作。SOAP是XML文件形式的呼叫方法的規範,它可以支援不同的底層介面,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL
XML+XSD、SOAP和WSDL就是構成WebService平臺的三大技術。
Web Service開發可以分客戶端和服務端
2. 具體操作
JDK實現WebService
服務端
(1)建一個介面,建立方法 注意:不要把類名和webservice相同
@WebService//使用@WebService註解標註WebServiceI介面
public interface WebServiceD {
@WebMethod //使用WebMethod註解標註WebService介面中的方法
public String write(String name) ;
}
(2)編寫WebServiceD介面的實現類WebServiceImpl,使用@WebService註解標註實現類
@WebService
public class WebServiceImpl implements WebServiceD{
@Override
public String write(String name) {
return name +"的日誌:webservice 第一次課是戴哥教的,挺好的";
}
}
(3)寫釋出類WebServicePublish,使用Endponit(終端)類釋出WebService//IP地址是本機動態地址
String address = "http://192.168.43.186:6666/webService/demo";
Endpoint.publish(address, new WebServiceImpl());
System.out.println("success");
(4)使用Eclipse自帶的工具測試服務端
http://192.168.43.186:6666/webService/demo?wsdl
注意IP地址
客戶端
(1)建立終端工程,主要用來實現接收服務端的暴露。
(2)找到客戶端原始碼路徑,
使用命令進行解析
wsimport -keep http://192.168.43.186:6666/webService/demo?wsdl 注意這個寫自己的ip地址
建議:在src中右擊操作輸入命令,讓產生的檔案都生成在src中。(快捷鍵:shift加滑鼠右鍵)
(3)建立Test.java測試類,在main方法中:
WebServiceImplService ws = new WebServiceImplService();
WebServiceImpl wp = ws.getWebServiceImplPort();
String str = wp.write("liujiayi");
System.out.println(str);