UDDI 实体定义文件
实体定义文件包含 XML,此 XML 根据 UDDI 实用程序工具模式确切地描述每个指定的实体。
您可以用以下三种方式来创建 UDDI 实体定义文件:
- 使用 UDDI 实用程序工具中的导出或提升功能来生成文件。
- 修改使用“导出”功能生成的文件。
- 手动创建文件。
添加“已删除”属性的 uddi:tModel 类型的扩展当前未在 UDDI 实用程序工具中使用。
根据 UDDI 实用程序工具模式验证了该文件的格式及一致性,如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema id="uddiPromote" attributeFormDefault="unqualified"
elementFormDefault="qualified" targetNamespace=
"http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:uddi="urn:uddi-org:api_v2"
xmlns="http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools"
xmlns:promote="http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="xml.xsd" />
<xsd:import namespace="urn:uddi-org:api_v2" schemaLocation="uddi_v2.xsd" />
<!-- define a type to represent the state of a tModel -->
<xsd:simpleType name="tModelDeleted">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="true" />
<xsd:enumeration value="false" />
</xsd:restriction>
</xsd:simpleType>
<!-- extend tModel with additional attribute of type tModelDeleted -->
<!-- This is restricted to values true or false -->
<xsd:complexType name="tModel">
<xsd:complexContent>
<xsd:extension base="uddi:tModel">
<xsd:attribute name="deleted" type="promote:tModelDeleted"
use="optional" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- Top level element definitions -->
<xsd:element name="uddiEntities" type="promote:uddiEntities" />
<xsd:complexType name="uddiEntities">
<xsd:sequence>
<xsd:element ref="promote:tModels" minOccurs="0" maxOccurs="1" />
<xsd:element ref="promote:businesses" minOccurs="0" maxOccurs="1" />
<xsd:element ref="promote:services" minOccurs="0" maxOccurs="1" />
<xsd:element ref="promote:bindings" minOccurs="0" maxOccurs="1" />
<xsd:element ref="promote:referencedTModels" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="businesses" type="promote:businesses" />
<xsd:complexType name="businesses">
<xsd:sequence>
<xsd:element ref="uddi:businessEntity" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="tModels" type="promote:tModels" />
<xsd:complexType name="tModels">
<xsd:sequence>
<xsd:element ref="uddi:tModel" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="services" type="promote:services" />
<xsd:complexType name="services">
<xsd:sequence>
<xsd:element ref="uddi:businessService" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="bindings" type="promote:bindings" />
<xsd:complexType name="bindings">
<xsd:sequence>
<xsd:element ref="uddi:bindingTemplate" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="referencedTModels" type="promote:referencedTModels" />
<xsd:complexType name="referencedTModels">
<xsd:sequence>
<xsd:element ref="uddi:tModel" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
规范 tModel 实体的 UDDI 实体定义文件示例
可以使用 UDDI 实用程序工具在目标 UDDI 注册中心中创建新的 UDDI 实体。它的一个典型示例是引入一个新的规范 tModel 实体(具有一个公共所知的 tModel 键)。
以下示例实体定义文件显示五个主要部分:tModels、businesses、services、bindings 以及 referencedTModels:
<?xml version="1.0" encoding="UTF-8"?>
<promote:uddiEntities xmlns="urn:uddi-org:api_v2" xmlns:promote=
"http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools">
<!-- tModels -->
<promote:tModels>
<tModel tModelKey="uuid:ee3966a8-faa5-416e-9772-128554343571" >
<name>http://schemas.xmlsoap.org/ws/2002/07/policytmodel</name>
<description>WS-PolicyAttachment policy expression</description>
</tModel>
<tModel tModelKey="uuid:ad61de98-4db8-31b2-a299-a2373dc97212" >
<name>uddi-org:wsdl:address</name>
<description xml:lang="en">
This tModel is used to specify the URL fact that the address must be obtained
from the WSDL deployment file.
</description>
<overviewDoc>
<overviewURL>
http://www.oasis-open.org/committees/uddi-spec/doc/tn/
uddi-spec-tc-tn-wsdl-v2.htm#Address
</overviewURL>
</overviewDoc>
</tModel>
</promote:tModels>
<!-- businesses -->
<promote:businesses>
</promote:businesses>
<!-- services -->
<promote:services>
</promote:services>
<!-- bindings -->
<promote:bindings>
</promote:bindings>
<!-- referenced tModels -->
<promote:referencedTModels>
</promote:referencedTModels>
</promote:uddiEntities>