Web Service 核心架構詳解:XML、SOAP、WSDL、UDDI 協議與跨平台調用原理
1. Web Service 基本概念
Web Service(XML Web Service)是一種輕量級、獨立的通訊技術,可接收來自 Internet/Intranet 系統的請求。核心棧:通過 SOAP 在 Web 上提供服務,使用 WSDL 文件描述,通過 UDDI 註冊發現。
核心協議組件
- XML (Extensible Markup Language): 擴展標記語言,面向短期數據處理與 Web 傳輸,是 SOAP 的基礎。
- SOAP (Simple Object Access Protocol): 簡單物件訪問協議,XML Web Service 的通信協議。定義 XML 文檔形式的方法調用規範,支援 HTTP(S)、SMTP 等底層傳輸。
- WSDL (Web Services Description Language): Web 服務描述語言,XML 文檔,描述一組 SOAP 訊息及其交換方式,通常由工具自動生成/使用。
- UDDI (Universal Description, Discovery, and Integration): 統一描述、發現與整合,針對服務提供者與使用者的註冊中心標準。使用 SOAP 訊息機制發布、查找註冊資訊。
2. 調用原理與架構角色
Web 服務雙重含義:(1) 封裝發布到網路上的功能集合;(2) 被調用後提供的服務。本質是一個 URL 資源,客戶端透過程式設計請求服務,無需知曉實現細節。
三大角色:
- 服務提供者: 擁有服務,等待提供功能。
- 服務請求者: 使用服務,發送 SOAP 請求獲取服務。
- 服務中介者: 連接請求者與提供者,管理註冊中心(通常是 UDDI)。
三大動作: 發布、發現、綁定。

3. XML Web Service 特點與優缺點
主要優點
- 跨防火牆通信: 直接從 UI 調用中間層組件,無需 ASP 頁面中轉,縮短開發週期、降低複雜度、增強可維護性。
- 應用程式整合: 異構系統(不同語言、平台)透過標準協議(HTTP、XML、SOAP、WSDL)交換訊息,實現企業級整合。
- B2B 整合: 將關鍵業務邏輯暴露為 Web Service,合作夥伴無論平台、語言皆可調用,大幅降低 B2B 整合時間與成本。
- 軟體與數據重用: 直接調用遠端服務,無需購買安裝組件;亦可將自身功能暴露供他人重用。
不適用場景(缺點)
- 單機應用: 本機進程間通訊用本地 API (如 COM) 更小更快,Web Service 開銷大無收益。
- 區域網同質應用: Windows 平台用 DCOM;.NET 平台用 .NET Remoting (TCP 通道) 效率遠高於 SOAP/HTTP。
4. 實戰:使用 wsimport 調用現有服務
同前文,使用 wsimport -s . https://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL 生成代碼,整合到專案,編寫測試類調用 getMobileCodeInfo 獲取歸屬地。
public class Mytest {
public static void main(String[] args) {
MobileCodeWS ws = new MobileCodeWS();
MobileCodeWSSoap soap = ws.getMobileCodeWSSoap();
String address = soap.getMobileCodeInfo("1314613", "");
System.out.println(address);
}
}



