首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Web Service 核心架構詳解:XML、SOAP、WSDL、UDDI 協議與跨平台調用原理

     編輯:Java 綜合教學

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)。

三大動作: 發布、發現、綁定。

Web Service 角色與動作關係圖

3. XML Web Service 特點與優缺點

主要優點

  1. 跨防火牆通信: 直接從 UI 調用中間層組件,無需 ASP 頁面中轉,縮短開發週期、降低複雜度、增強可維護性。
  2. 應用程式整合: 異構系統(不同語言、平台)透過標準協議(HTTP、XML、SOAP、WSDL)交換訊息,實現企業級整合。
  3. B2B 整合: 將關鍵業務邏輯暴露為 Web Service,合作夥伴無論平台、語言皆可調用,大幅降低 B2B 整合時間與成本。
  4. 軟體與數據重用: 直接調用遠端服務,無需購買安裝組件;亦可將自身功能暴露供他人重用。

不適用場景(缺點)

  1. 單機應用: 本機進程間通訊用本地 API (如 COM) 更小更快,Web Service 開銷大無收益。
  2. 區域網同質應用: 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);
    }
}

wsimport 生成

生成的類結構

部署到專案

執行成功

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved