標籤:poi system local 複製 desc 服務 規則 oca 需要
1.什麼是web服務:
web服務是一種可以用來解決跨網路應用整合問題的開發模式,這種模式為實現“軟體即服務”提供了技術保證。
2.web服務的三個核心 (SOAP,WSDL,UDDI)
2.1 SOAP(簡易物件存取通訊協定 (SOAP))
SOAP(Simple Object Access Protocol,簡易物件存取通訊協定 (SOAP))是一個基於xml的協議,用於在分步的應用程式都可以識別。另外,SOAP本身沒有定義任何程式語言,這使得SOAP能夠以訊息的形式傳遞到各種遠程系統中。
SOAP所使用的傳輸協議,可以是HTTP,SMTP,POP3,JMS。
SOAP包括了4部分:
01.“SOAP封裝(Envelope)”:
定義一個描述資訊描述的內容是什麼,是誰發送的,誰應當處理他,以及如何處理他們的架構。
02.“SOAP編碼規則”:
用於表示應用程式需要使用的資料類型的執行個體。
03.“SOAP RPC":
表示遠程過程中調用和應答的協定。
04.“SOPA綁定”:
使用底層協議交換資訊。
2.2 WSDL(web服務描述語言)
WSDL(Web Service Description Language,web服務描述語言)是一個XML文檔,他以一種和具體語言無關的抽象方式定義了給定web服務收發者的有關操作和訊息。
2.3 UDDI(統一描述發現和整合協議)
UDDI(Universal Description Discovery and Integration,統一描述發現和整合協議)是一個規範,定義了與web服務相關的資訊的發布,發現和管理。
3.JAX-WS
JSX—WS(Java API for XML Web Service)。他是用來簡化使用java構造web服務和web服務用戶端的工作的技術。
3.1使用JAX-WS發布服務
案例:HelloWord:
01.定義服務類以及方法
package cn.service2; import javax.jws.WebService;import javax.xml.ws.Endpoint; import cn.clien.test.HellowordClicenTest;/***@javax.jws.WebService註解,標識一個java類或一個介面作為一個服務,一旦被標註@WebService,他就不是一個普通的*介面,他被稱作服務端點介面(Service Endpoint Interface) */@WebServicepublic class HelloWord {/** * 打招呼的方法 * @param name * @return */ public String say(String name){ System.out.println("歡迎"+name); return "你好:"+name; } public static void main(String[] args) { String address="http://localhost:50000/HelloWord"; //發布服務 Endpoint.publish(address, new HelloWord()); System.out.println("啟動服務成功....."); }}
02.啟動測試
03.在瀏覽器中測試
到了這一步證明發布成功了可以進行用戶端的測試了。
3.1使用JAX-WS調用服務
01.開啟cmd命令:
------》cd\到c盤根目錄------》wsimport -s . http://localhost:50000/HelloWord?wsdl
02.會在c盤根目錄下組建檔案夾裡面有有java類和編譯好的位元組碼檔案
03.把java類複製到工程中,並且建立測試類別
package cn.clien.test; import javax.xml.ws.Endpoint; import cn.service1.HelloWord;import cn.service1.HelloWordService; public class HellowordClicenTest { public static void main(String[] args) { HelloWordService hws=new HelloWordService(); HelloWord hw= hws.getHelloWordPort(); System.out.println(hw.say("嘿嘿")); }}
04.運行:
服務端:
用戶端:
3.3使用web Service Explorer來調用服務
在MyEclipse中找到的表徵圖
開啟會出現的介面,它預設選擇的是UDDI,在這裡我們選擇WSDL
當點擊go
服務端:
用戶端:
大白的webservice