Web Service的三個技術基礎:
1 . WSDL Web Service Definition Language - Web Service 定義語言;
2 . SOAP Simple Object Access Protocol - 簡單對象協定;
3 . UDDI (用到的不多)
一 、 XML 裡的兩個屬性:
targetNamespace - 相當于Java語言裡的package
xmlns - 相當于Java語言的import(導入命名空間,要寫的内容與要導入的檔案的 targetNamespace 相同)
xmlns比Java的import功能要強:
* Java代碼引入:import java.util.*;import java.sql.*;
程式代碼裡有Date屬性時,會報錯:對Date的引用不明确,java.sql中有類java.sql.Date和java.util中有類java.util.Date
* xmlns:ns1="http://ws.cxf.fjava.org/"
xmlns可以命名一個短名 ns1,短名可以改,"http://ws.cxf.fjava.org/"不能随便改,對應一個檔案
二 、 WSDL解析
這裡解析的是CXF-01至03裡的程式,下面看圖識流程(先看接口,後看實作);
調用一次Web Service的本質:
1.用戶端把調用方法參數,轉換XML文檔片段——該文檔片段必須符合WSDL定義的格式;
2.通過網絡,把XML文檔片段傳給伺服器;
3.伺服器接收到XML文檔片段;
4.伺服器解析XML文檔片段,提前其中的資料,并把資料轉換為調用Web Service所需的參數值;
5.伺服器執行方法
6.把執行方法得到的傳回值再次轉換生成XML文檔片段(SOAP消息)——該文檔片段必須符合WSDL定義的格式。
7.通過網絡,把XML文檔片段傳給用戶端;
8.用戶端接收到XML文檔片段;
9.用戶端解析XML文檔片段,提取其中的資料,并把資料轉換 調用Web Service的傳回結果。
從上面調用本質來看,要一個語言支援Web Service,唯一的要求是:該語言支援XML文檔解析、生成、支援網絡傳輸。
XML文檔片段是一個跨平台的交換格式,這也是CXF能夠跨平台的根本原因。
希望對你有幫助,祝你有一個好心情,加油!
若有錯誤、不全、可優化的點,歡迎糾正與補充;轉載請注明出處!