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

UDDI4J:Java 應用整合 UDDI 註冊中心的標準客戶端庫

     編輯:Java 相關知識

UDDI (Universal Description, Discovery, and Integration) 是 Web Services 發現與整合的行業標準。UDDI4J 是 IBM 主導的開源 Java 類庫,提供完整的程式化 API 讓 Java 應用發布、查詢、綁定 UDDI 註冊中心的服務資訊。

核心功能

  • 發布:將服務描述 (WSDL)、業務實體、綁定模板註冊至 UDDI
  • 發現:依分類、名稱、識別碼查詢服務與業務
  • 綁定:取得服務存取端點 (Access Point) 進行實際調用

架構與核心類別

  • com.ibm.uddi.client.UDDIProxy:核心代理類,封裝所有 UDDI API 呼叫 (find_xxx, save_xxx, delete_xxx),對應 UDDI Programmer's API Specification
  • com.ibm.uddi.datatype.*:資料模型類別,對應 UDDI XML 結構 (BusinessEntity, BusinessService, BindingTemplate, TModel 等)
  • 子套件對應請求/回應訊息的序列化與解析

環境需求

  • Apache SOAP 2.1+ (底層傳輸依賴)
  • JDK 1.2.2+
  • Apache Ant (建構專案用)

典型使用流程


// 1. 建立 Proxy,指定 UDDI 節點查詢/發布 URL
UDDIProxy proxy = new UDDIProxy();
proxy.setInquiryURL("https://uddi.example.com/inquire");
proxy.setPublishURL("https://uddi.example.com/publish");

// 2. 驗證 (發布需授權)
AuthToken token = proxy.get_authToken("user", "password");

// 3. 查詢服務
FindQualifiers fq = new FindQualifiers();
fq.addFindQualifier(FindQualifiers.APPROXIMATE_MATCH);
FindService fs = proxy.find_service(token.getAuthTokenString(), null, fq, null, null, 0);

// 4. 發布業務與服務
BusinessEntity be = new BusinessEntity();
// ... 設定名稱、描述、聯繫資訊 ...
BusinessEntityDetail bed = proxy.save_business(token.getAuthTokenString(), be);

// 5. 取得服務存取點進行調用
BindingTemplate bt = ... // 從查詢結果取得
String accessPoint = bt.getAccessPoint().getText(); // 端點 URL
// 使用 JAX-RPC / JAX-WS 調用實際 Web Service

資源連結

發展趨勢

JSR 93 (JAXR - Java API for XML Registries) 提供統一的註冊中心存取 API,支援 UDDI、ebXML 等多種後端。新專案建議直接使用 JAXR 實作 (如 Apache jUDDI 內建 JAXR Provider),UDDI4J 逐漸轉為維護模式。

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