- UDDI Tutorial
- UDDI - Home
- UDDI - Overview
- UDDI - Elements
- UDDI - Technical Architecture
- UDDI - Data Model
- UDDI - Interfaces
- UDDI - Usage Example
- UDDI with WSDL
- UDDI - Implementations
- UDDI - Specifications
- UDDI - Summary
- UDDI API References
- UDDI - API Quick References
- UDDI Useful Resources
- UDDI - Quick Guide
- UDDI - Useful Resources
- UDDI - Discussion
带有 WSDL 的 UDDI
UDDI 数据模型定义了用于存储有关业务及其发布的 Web 服务的信息的通用结构。UDDI数据模型是完全可扩展的,包括多个重复的信息序列结构。
然而,WSDL 用于描述 Web 服务的接口。WSDL 与 UDDI 一起使用相当简单。
WSDL 使用businessService、bindingTemplate和tModel信息的组合在UDDI 中表示。
与在 UDDI 中注册的任何服务一样,有关服务的一般信息存储在BusinessService数据结构中,而特定于访问服务的方式和位置的信息则存储在一个或多个关联的BindingTemplate结构中。每个BindingTemplate结构都包含一个元素,该元素包含服务的网络地址,并具有与其关联的一个或多个描述和唯一标识服务的tModel结构。
当 UDDI 用于存储 WSDL 信息或指向 WSDL 文件的指针时,按照惯例, tModel应称为wsdlSpec类型,这意味着overviewDoc元素被明确标识为指向 WSDL 服务接口定义。
对于 UDDI,WSDL 内容分为两个主要元素:接口文件和实现文件。
Hertz 预订系统 Web 服务提供了 UDDI 和 WSDL 如何协同工作的具体示例。这是此 Web 服务的 <tModel> -
<tModel authorizedName = "..." operator = "..." tModelKey = "..."> <name>HertzReserveService</name> <description xml:lang = "en"> WSDL description of the Hertz reservation service interface </description> <overviewDoc> <description xml:lang = "en"> WSDL source document. </description> <overviewURL> http://mach3.ebphost.net/wsdl/hertz_reserve.wsdl </overviewURL> </overviewDoc> <categoryBag> <keyedReference tModelKey = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4" keyName = "uddi-org:types" keyValue = "wsdlSpec"/> </categoryBag> </tModel>
关键点是 -
overviewURL 元素给出了可以找到服务接口定义 WSDL 文件的 URL。这使得人类和 UDDI/WSDL 感知工具能够定位服务接口定义。
categoryBag 中 keyedReference 元素的用途是确保此 tModel 被分类为 WSDL 规范文档。