Uddi Tutorial
Uddi Tutorial
Audience
This tutorial has been designed for beginners interested in learning the basic
concepts of UDDI.
Prerequisites
Since UDDI is an XML-based standard, all that you need to have is a basic
understanding of XML to make the most of this tutorial.
All the content and graphics published in this e-book are the property of Tutorials
Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy,
distribute or republish any contents or a part of contents of this e-book in any
manner without written consent of the publisher.
We strive to update the contents of our website and tutorials as timely and as
precisely as possible, however, the contents may contain inaccuracies or errors.
Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy,
timeliness or completeness of our website or its contents including this tutorial. If
you discover any errors on our website or in this tutorial, please notify us at
[email protected]
i
Table of Contents
About the Tutorial .................................................................................................................................... i
Audience ................................................................................................................................................... i
Prerequisites ............................................................................................................................................. i
1. OVERVIEW ........................................................................................................................... 1
2. ELEMENTS............................................................................................................................ 3
5. INTERFACES ....................................................................................................................... 12
ii
The Publisher Interface .......................................................................................................................... 12
8. IMPLEMENTATIONS ........................................................................................................... 19
9. SPECIFICATIONS ................................................................................................................. 20
10. SUMMARY.......................................................................................................................... 22
find_binding........................................................................................................................................... 25
find_business ......................................................................................................................................... 26
find_relatedBusinesses .......................................................................................................................... 28
find_service ........................................................................................................................................... 28
find_tModel ........................................................................................................................................... 30
iii
get_bindingDetail .................................................................................................................................. 31
get_businessDetail ................................................................................................................................. 31
get_businessDetailExt ............................................................................................................................ 32
get_serviceDetail ................................................................................................................................... 33
get_tModelDetail ................................................................................................................................... 33
get_authToken ....................................................................................................................................... 34
discard_authToken ................................................................................................................................ 35
save_business ........................................................................................................................................ 35
save_service .......................................................................................................................................... 37
save_binding .......................................................................................................................................... 38
save_tModel .......................................................................................................................................... 39
delete_business ..................................................................................................................................... 41
delete_service ........................................................................................................................................ 42
delete_binding ....................................................................................................................................... 43
delete_tModel ....................................................................................................................................... 44
get_registeredInfo ................................................................................................................................. 45
set_publisherAssertions ......................................................................................................................... 46
add_publisherAssertions ....................................................................................................................... 47
delete_publisherAssertions ................................................................................................................... 48
get_assertionStatusReport .................................................................................................................... 49
get_publisherAssertions ........................................................................................................................ 50
iv
UDDI
1. OVERVIEW
What is UDDI?
UDDI is an XML-based standard for describing, publishing, and finding web services.
UDDI is seen with SOAP and WSDL as one of the three foundation standards
of web services.
A set of WSDL port type definitions for manipulating and searching that
registry.
History of UDDI
UDDI 1.0 was originally announced by Microsoft, IBM, and Ariba in September
2000.
Since the initial announcement, the UDDI initiative has grown to include more
than 300 companies including Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft,
Oracle, SAP, and Sun.
In May 2001, Microsoft and IBM launched the first UDDI operator sites and
turned the UDDI registry live.
As the time of writing this tutorial, Microsoft and IBM sites had implemented
the 1.0 specification and were planning 2.0 support in the near future.
1
UDDI
These exclusive services are designed for the sole purpose of allowing members of
the company or of the industry group to share and advertise services amongst
themselves.
Regardless of whether the UDDI registry is a part of the global federated network or
a privately owned and operated registry, the one thing that ties them all together is
a common web services API for publishing and locating businesses and services
advertised within the UDDI registry.
2
UDDI
2. ELEMENTS
A business or a company can register three types of information into a UDDI registry.
This information is contained in three elements of UDDI.
White Pages,
Yellow Pages, and
Green Pages.
White Pages
White pages contain:
Unique identifiers for the company tax IDs. This information allows others to
discover your web service based upon your business identification.
Yellow Pages
Yellow pages contain more details about the company. They include
descriptions of the kind of electronic capabilities the company can offer to
anyone who wants to do business with it.
Green Pages
Green pages contain technical information about a web service. A green page allows
someone to bind to a web service after it's been found. It includes:
Discovery information and similar data required to find and run the web
service.
3
UDDI
NOTE: UDDI is not restricted to describing web services based on SOAP. Rather,
UDDI can be used to describe any service, from a single webpage or email address
all the way up to SOAP, CORBA, and Java RMI services.
4
UDDI
3. TECHNICAL ARCHITECTURE
The UDDI Business Registry (UBR), also known as the Public Cloud, is a conceptually
single system built from multiple nodes having their data synchronized through
replication.
The current cloud services provide a logically centralized, but physically distributed,
directory. It means the data submitted to one root node will automatically be
replicated across all the other root nodes. Currently, data replication occurs every 24
hours.
UDDI cloud services are currently provided by Microsoft and IBM. Ariba had originally
planned to offer an operator as well, but has since backed away from the
commitment. Additional operators from other companies, including Hewlett-Packard,
are planned for the near future.
5
UDDI
It is also possible to set up private UDDI registries. For example, a large company
may set up its own private UDDI registry for registering all internal web services. As
these registries are not automatically synchronized with the root UDDI nodes, they
are not considered as a part of the UDDI cloud.
6
UDDI
4. DATA MODEL
UDDI includes an XML Schema that describes the following data structures:
businessEntity
businessService
bindingTemplate
tModel
publisherAssertion
<businessEntity businessKey="uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40"
operator="http://www.ibm.com"
authorizedName="John Doe">
<name>Acme Company</name>
<description>
We create cool Web services
</description>
<contacts>
<contact useType="general info">
<description>General Information</description>
<personName>John Doe</personName>
<phone>(123) 123-1234</phone>
<email>[email protected]</email>
</contact>
</contacts>
<businessServices>
...
7
UDDI
</businessServices>
<identifierBag>
<keyedReference
tModelKey="UUID:8609C81E-EE1F-4D5A-B202-3EB13AD01823"
name="D-U-N-S"
value="123456789" />
</identifierBag>
<categoryBag>
<keyedReference
tModelKey="UUID:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2"
name="NAICS"
value="111336" />
</categoryBag>
</businessEntity>
Here is an example of a business service structure for the Hello World web service.
<businessService serviceKey="uuid:D6F1B765-BDB3-4837-828D-8284301E5A2A"
businessKey="uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40">
<name>Hello World Web Service</name>
<description>A friendly Web service</description>
<bindingTemplates>
...
</bindingTemplates>
<categoryBag />
</businessService
Notice the use of the Universally Unique Identifiers (UUIDs) in the businessKey and
serviceKey attributes. Every business entity and business service is uniquely
identified in all the UDDI registries through the UUID assigned by the registry when
the information is first entered.
8
UDDI
<bindingTemplate serviceKey="uuid:D6F1B765-BDB3-4837-828D-8284301E5A2A"
bindingKey="uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40">
<description>Hello World SOAP Binding</description>
<accessPoint URLType="http">
http://localhost:8080
</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo
tModelKey="uuid:EB1B645F-CF2F-491f-811A-4868705F5904">
<instanceDetails>
<overviewDoc>
<description>
references the description of the
WSDL service definition
</description>
<overviewURL>
http://localhost/helloworld.wsdl
</overviewURL>
</overviewDoc>
</instanceDetails>
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>
As a business service may have multiple binding templates, the service may specify
different implementations of the same service, each bound to a different set of
protocols or a different network address.
9
UDDI
tModel is a way of describing the various business, service, and template structures
stored within the UDDI registry. Any abstract concept can be registered within the
UDDI as a tModel. For instance, if you define a new WSDL port type, you can define
a tModel that represents that port type within the UDDI. Then, you can specify that
a given business service implements that port type by associating the tModel with
one of that business service's binding templates.
Here is an example of a tModel representing the Hello World Interface port type.
<tModel tModelKey="uuid:xyz987..."
operator="http://www.ibm.com"
authorizedName="John Doe">
<name>HelloWorldInterface Port Type</name>
<description>
An interface for a friendly Web service
</description>
<overviewDoc>
<overviewURL>
http://localhost/helloworld.wsdl
</overviewURL>
</overviewDoc>
</tModel>
The publisherAssertion structure consists of the three elements: fromKey (the first
businessKey), toKey (the second businessKey), and keyedReference.
10
UDDI
11
UDDI
5. INTERFACES
A registry is of no use without some way to access it. The UDDI standard version 2.0
specifies two interfaces for service consumers and service providers to interact with
the registry.
Service consumers use Inquiry Interface to find a service, and service providers
use Publisher Interface to list a service.
The core of the UDDI interface is the UDDI XML Schema definitions. These define the
fundamental UDDI data types through which all the information flows.
delete_service: Removes the given web services from the UDDI registry
completely.
delete_binding: Removes the given web services’ technical details from the
UDDI registry.
12
UDDI
13
UDDI
6. USAGE EXAMPLE
Choose an operator with which to work. Each operator has different terms and
conditions for authorizing access to its replica of the registry.
Use the inquiry APIs to test the retrieval of the information, including binding
template information, to ensure that someone who obtains it can use it
successfully to interact with your service.
Fill in the tModel information in case someone wants to search for a given
service and find your business as one of the service providers.
The following examples will show how the XYZ Company would register its
information and how a distributor interested in carrying the XYZ's product line might
find information about how to contact the company and place an order, using the
XYZ.com Web services.
Creating Registry
After obtaining an authentication token from one of the operators – Microsoft, for
example – the XYZ.com developers decide what information to publish to the registry
and use one of the UDDI tools provided by Microsoft. If necessary, the developers
can also write a Java, C#, or VB.NET program to generate the appropriate SOAP
messages. Here is an example.
14
UDDI
Content-Length: nnnn
SOAPAction: "save_business"
<?xml version="1.0" encoding="UTF-8" ?>
<Envelope xmlns="http://schemas/xmlsoap.org/soap/envelope/">
<Body>
<save_business generic="2.0" xmlns="urn:uddi-org:api_v2">
<businessKey="">
</businessKey>
<name>
XYZ, Pvt Ltd.
</name>
<description>
Company is involved in giving Stat-of-the-art....
</description>
<identifierBag> ... </identifierBag>
...
</save_business>
</Body>
</Envelope>
Company XYZ can always execute another save_business operation to add to the
basic information required to create a business entity.
Retrieving Information
After XYZ Company has updated its UDDI entry with the relevant information,
companies that want to become XYZ distributors can look up contact information in
the UDDI registry and obtain the service descriptions and the access points for the
two Web services that XYZ.com publishes for online order entry: preseason bulk
orders and in-season restocking orders.
This example illustrates a sample SOAP request to obtain business detail information
about the XYZ Company. Once you know the UUID, or key, for the specific business
that's been registered, you can use it in the get_businessDetail API to return specific
information about that business.
15
UDDI
16
UDDI
The UDDI data model defines a generic structure for storing information about a
business and the web services it publishes. The UDDI data model is completely
extensible, including several repeating sequence structures of information. However,
WSDL is used to describe the interface of a web service. WSDL is fairly
straightforward to use with UDDI.
As with any service registered in UDDI, generic information about the service
is stored in the businessService data structure, and information specific to how
and where the service is accessed is stored in one or more associated
bindingTemplate structures. Each bindingTemplate structure includes an
element that contains the network address of the service and has associated
with it one or more tModel structures that describe and uniquely identify the
service.
When UDDI is used to store WSDL information, or pointers to WSDL files, the
tModel should be referred to by convention as type wsdlSpec, meaning that
the overviewDoc element is clearly identified as pointing to a WSDL service
interface definition.
For UDDI, WSDL contents are split into two major elements: the interface file,
and the implementation file.
The Hertz reservation system web service provides a concrete example of how UDDI
and WSDL works together. Here is the <tModel> for this web service:
17
UDDI
</overviewDoc>
<categoryBag>
<keyedReference
tModelKey="uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"
keyName="uddi-org:types" keyValue="wsdlSpec"/>
</categoryBag>
</tModel>
The overviewURL element gives the URL to where the service interface definition
WSDL file can be found. This allows humans and UDDI/WSDL aware tools to
locate the service interface definition.
18
UDDI
8. IMPLEMENTATIONS
Java Implementations
There are two UDDI implementations for Java.
UDDI4J (UDDI for Java): UDDI4J was originally created by IBM. In January
2001, IBM turned over the code to its own open source site. UDDI4J is a Java
class library that provides an API to interact with a UDDI.
Perl Implementation
UDDI::Lite: It provides a basic UDDI client for inquiry and publishing.
Ruby Implementation
UDDI4r: It provides a basic UDDI client for inquiry and publishing.
Python Implementation
UDDI4Py: UDDI4Py is a Python package that allows the sending of requests
to, and processing of responses from the UDDI Version 2 APIs.
19
UDDI
9. SPECIFICATIONS
The UDDI project also defines a set of XML Schema definitions that describe the data
formats used by the various specification APIs. These documents are all available for
download at www.uddi.org. The current version of all specification groups is Version
2.0.
UDDI Replication,
UDDI Operators,
UDDI Programmer’s API, and
UDDI Data Structures.
UDDI Replication
This document describes the data replication processes and interfaces to which a
registry operator must conform to achieve data replication between sites. This
specification is not a programmer's API; it defines the replication mechanism used
among UBR nodes.
UDDI Operators
This document outlines the behavior and operational parameters required by the
UDDI node operators. This specification defines data management requirements to
which operators must adhere.
20
UDDI
The UDDI XML API schema is not contained in a specification; rather, it is stored as
an XML Schema document that defines the structure and datatypes of the UDDI data
structures.
21
UDDI
10. SUMMARY
We have learned UDDI and its elements in this tutorial and have also seen the
complete architecture and the data model of UDDI.
We have learned about the two UDDI interfaces: Publisher's Interface and Enquiry
Interface. We have also learned how to register and search for web services with
UDDI.
What's Next?
The next step is to learn about SOAP, WSDL, and Web Services.
SOAP
SOAP is a simple XML-based protocol that allows applications to exchange information
over HTTP.
If you want to learn more about SOAP, please visit our SOAP tutorial.
WSDL
WSDL is the standard format for describing a web service in XML format.
If you want to learn more about WSDL, please visit our WSDL Tutorial.
Web Services
Web services can convert your applications into web-applications.
If you want to learn more about web services, please visit our Web Services tutorial.
22
UDDI
Here is the complete reference of the UDDI Enquiry APIs and the UDDI Publishing
APIs.
23
UDDI
24
UDDI
find_binding
Description: The find_bindings function searches for template binding records
associated with a specified service and the specified tModel record(s).
The response includes a root bindingDetail element and one bindingTemplate element
for each matching binding. If the UDDI operator returns only a partial list of matching
results, the bindingDetail element's truncated attribute will be set to true. If no
matches are found, a bindingDetail element with zero sub elements is returned.
25
UDDI
Arguments
serviceKey: Required uuid_key attribute specifying the associated businessService.
tModelBag: Required uuid_key element to specify tModel records. If more than one
tModel is specified, the search is performed via a logical AND.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that the uuid_key value passed did not match with
any known serviceKey or tModelKey values. The error structure will signify which
condition occurred first, and the invalid key will be indicated clearly in text.
E_unsupported: It signifies that one of the findQualifier values passed was invalid.
The invalid qualifier will be indicated clearly in text.
find_business
Description: The find_business function searches for businesses that match the
specified criteria.
The response includes a root businessList element, and one businessInfo element for
each matching company. If the UDDI operator returns only a partial list of matching
results, the businessList element's truncated attribute will be set to true. If no
matches are found, a businessList element with zero sub elements is returned.
26
UDDI
xmlns="urn:uddi-org:api_v2">
[<findQualifiers/>]
[<name/> [<name/>]...]
[<discoveryURLs/>]
[<identifierBag/>]
[<categoryBag/>]
[<tModelBag/>]
</find_business>
Arguments
maxRows: Optional attribute to specify the maximum number of rows to be returned;
if maxRows is exceeded, the bindingDetail element's truncated attribute will be set
to true.
name: The full or partial name of the business. UDDI 2.0 enables you to specify up
to five business names.
categoryBag: Optional element to search by category. For example, you can search
by NAICS codes. If more than one category is specified, the search is performed via
a logical AND.
tModelBag: Optional element to search by tModel records. If more than one tModel
is specified, the search is performed via a logical AND.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that the uuid_key value passed did not match with
any known serviceKey or tModelKey values. The error structure will signify which
condition occurred first, and the invalid key will be indicated clearly in text.
E_unsupported: It signifies that one of the findQualifier values passed was invalid.
The invalid qualifier will be indicated clearly in text.
27
UDDI
find_relatedBusinesses
Description: The find_relatedBusinesses function is used to discover businesses that
have been related via the uddi-org:relationships model.
Arguments
findQualifiers: Optional element to override the default search functionality. For
example, the find qualifier exactNameMatch will match exact business names.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that the uuid_key value passed did not match with
any known serviceKey or tModelKey values. The error structure will signify which
condition occurred first, and the invalid key will be indicated clearly in text.
E_unsupported: It signifies that one of the findQualifier values passed was invalid.
The invalid qualifier will be indicated clearly in text.
find_service
Description: The find_service function searches for services associated with a
specified business.
28
UDDI
The response includes a root serviceList element, and one serviceInfo element for
each matching company. If the UDDI operator returns only a partial list of matching
results, the serviceList element's truncated attribute will be set to true. If no matches
are found, a serviceList element with zero sub elements is returned.
Arguments
businessKey: Required uuid_key attribute specifying the associated businessEntity.
name: The full or partial name of the service. UDDI 2.0 allows you to specify up to
five service names.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that the uuid_key value passed did not match with
any known serviceKey or tModelKey values. The error structure will signify which
condition occurred first, and the invalid key will be indicated clearly in text.
29
UDDI
find_tModel
Description: The find_tModel function searches for tModel records that match the
specified criteria.
The response includes a root tModelList element and one tModelInfo element for each
matching company. If the UDDI operator returns only a partial list of matching
results, the tModelList element's truncated attribute is set to true. If no matches are
found, a tModelList element with zero sub elements is returned.
Arguments
maxRows: Optional attribute to specify the maximum number of rows to be returned.
If maxRows is exceeded, the serviceList element's truncated attribute is set to true.
name: The full or partial name of the service. UDDI 2.0 allows you to specify up to
five service names.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_unsupported: It signifies that one of the findQualifier values passed was invalid.
The invalid qualifier is clearly indicated in the error text.
30
UDDI
get_bindingDetail
Description: The get_bindingDetail function retrieves the complete bindingTemplate
for each specified bindingKey.
Arguments
businessKey: Required uuid_key attribute specifying the associated businessEntity.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
get_businessDetail
Description: The get_businessDetail function retrieves the complete businessEntity
for each specified businessKey.
The response includes a root businessDetail element, and one businessEntity element
for each matching business. If the UDDI operator returns only a partial list of
matching results, the businessDetail truncated attribute is set to true. If no matches
are found, an E_invalidKeyPassed error is returned.
31
UDDI
Arguments
businessKey: Required uuid_key specifying the businessEntity. You can specify
multiple businessKeys.
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information will be
relevant:
get_businessDetailExt
Description: The get_businessDetailExt function retrieves the extended
businessEntity for each specified businessKey.
Arguments
businessKey: Required uuid_key specifying the businessEntity. You can specify
multiple businessKeys.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
32
UDDI
E_unsupported: The query is not supported. If this occurs, use the get_businessDetail
query.
get_serviceDetail
Description: The get_serviceDetail function retrieves the businessService record for
each specified serviceKey.
The response includes a root serviceDetail element, and one businessService element
for each matching service. If the UDDI operator returns only a partial list of matching
results, the serviceDetail element's truncated attribute will be set to true. If no
matches are found, an E_invalidKeyPassed error is returned.
Arguments
serviceKey: Required uuid_key specifying the serviceDetail. You can specify multiple
serviceKeys.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
get_tModelDetail
Description: The get_tModelDetail function retrieves the tModel record for each
specified tModelKey.
The response includes a root tModelDetail element, and one tModel element for each
matching tModel. If the UDDI operator returns only a partial list of matching results,
the tModelDetail element's truncated attribute will be set to true. If no matches are
found, an E_invalidKeyPassed error is returned.
33
UDDI
Arguments
tModelKey: Required uuid_key specifying the tModel. You can specify multiple
tModelKeys.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
get_authToken
Description: The get_authToken API call is used to obtain an authentication token.
Authentication tokens are opaque values that are required for all other publisher API
calls. This API is provided for implementations that do not have some other method
of obtaining an authentication token or certificate, or that choose to use user ID and
password based authentication.
This function returns an authToken message that contains a valid authInfo element
that can be used in subsequent calls to publisher API calls that require an authInfo
value.
Arguments
userID: This required attribute argument is the user identifier that an individual
authorized user was assigned by an Operator Site.
cred: This required attribute argument is the password or credential that is associated
with the user.
34
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information is relevant:
E_unknownUser: It signifies that the Operator Site that received the request does
not recognize the userID and/or cred argument values passed as valid credentials.
discard_authToken
Description: The discard_authToken API call is used to inform an Operator Site that
the authentication token is to be discarded, effectively ending the session.
Subsequent calls that use the same authToken will be rejected. This message is
optional for Operator Sites that do not manage session state or that do not support
the get_authToken message.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
save_business
Description: The save_business API call is used to save or update information about
a complete businessEntity element.
This API returns a businessDetail message containing the final results of the call that
reflects the new registered information for the businessEntity information provided.
These results will include any businessServices that are contained by reference. If
35
UDDI
the same entity determined by matching key is listed more than once in the
save_business message, it may be listed once in the result for each appearance in
the save_business message. If so, the last appearance in the results represents the
final saved state.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_userMismatch: It signifies that one or more of the uuid_key values passed refers
to data that is not controlled by the individual who is represented by the
authentication token. The key causing the error will be clearly indicated in the error
text.
36
UDDI
E_invalidValue: A value that was passed in a keyValue attribute did not pass
validation. This applies to checked categorizations, identifiers and other validated
code lists. The error text will clearly indicate the key and value combination that failed
validation.
E_requestTimeout: It signifies that the request could not be carried out because a
needed validate_values service did not respond in a reasonable amount of time.
Details identifying the failing service will be included in the dispositionReport element.
save_service
Description: The save_service API call adds or updates one or more businessService
elements.
This API call returns a serviceDetail message containing the final results of the call
that reflects the newly registered information for the effected businessService
elements. In cases where multiple businessService elements are passed in the
request, the result will contain the final results for each businessService passed and
these will occur in the same order as found in the request. If the same entity is listed
more than once in the save_service message, it may be listed once in the result for
each appearance in the save_service message. If so, the last appearance in the
results represents the final saved state.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
37
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_userMismatch: It signifies that one or more of the uuid_key values passed refers
to data that is not controlled by the individual who is represented by the
authentication token. The key causing the error will be clearly indicated in the error
text.
E_invalidValue: A value that was passed in a keyValue attribute did not pass
validation. This applies to checked categorizations, identifiers and other validated
code lists. The error text will clearly indicate the key and value combination that failed
validation.
E_requestTimeout: It signifies that the request could not be carried out because a
needed validate_values service did not respond in a reasonable amount of time.
Details identifying the failing service will be included in the dispositionReport element.
save_binding
Description: The save_binding API call is used to save or update a complete
bindingTemplate element. This message can be used to add or update one or more
bindingTemplate elements as well as the container/contained relationship that each
bindingTemplate has with one or more existing businessService elements.
This API returns a bindingDetail message containing the final results of the call that
reflects the newly registered information for the effected bindingTemplate elements.
If more than one bindingTemplate is saved in a single save_binding message, the
resulting bindingDetail message will return results in the same order that they
appeared in the save_binding message. If the same bindingTemplate (determined by
matching bindingKey) is listed more than once in the save_binding message, it may
38
UDDI
be listed once in the result for each appearance in the save_binding message. If so,
the last appearance in the results represents the final saved state.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_userMismatch: It signifies that one or more of the uuid_key values passed refers
to data that is not controlled by the individual who is represented by the
authentication token. The key causing the error will be clearly indicated in the error
text.
save_tModel
Description: The save_tModel API call adds or updates one or more registered
tModel elements.
39
UDDI
This API returns a tModelDetail message containing the final results of the call that
reflects the new registered information for the effected tModel elements. If multiple
tModel elements were passed in the save_tModel request, the order of the response
will exactly match the order the elements appeared in the save. If the same tModel,
determined by matching key, is listed more than once in the save_tModel message,
it may be listed once in the result for each appearance in the save_tModel message.
If so, the last appearance in the results represents the final saved state.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
tModel: One or more complete tModel elements can be passed. If adding a new
tModel, the tModelKey value should be passed as an empty element.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_userMismatch: It signifies that one or more of the uuid_key values passed refers
to data that is not controlled by the individual who is represented by the
authentication token. The key causing the error will be clearly indicated in the error
text.
40
UDDI
E_invalidValue: A value that was passed in a keyValue attribute did not pass
validation. This applies to checked categorizations, identifiers and other validated
code lists. The error text will clearly indicate the key and value combination that failed
validation.
E_requestTimeout: It signifies that the request could not be carried out because a
needed validate_values service did not respond in a reasonable amount of time.
Details identifying the failing service will be included in the dispositionReport element.
delete_business
Description: The delete_business API call is used to remove one or more business
registrations (e.g. registered businessEntity data) and all direct contents from a UDDI
registry.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
businessKey: one or more uuid_key values that represent specific instances of known
businessEntity data.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
41
UDDI
E_invalidKeyPassed: It signifies that one of the uuid_key values passed did not match
with any known businessKey values. No partial results will be returned. If any
businessKey values passed are not valid or if the message contained multiple
instances of a uuid_key value, this error will be returned. The key that caused the
error will be clearly indicated in the error text.
E_userMismatch: It signifies that one or more of the uuid_key values passed refers
to data that is not controlled by the individual who is represented by the
authentication token. The key causing the error will be clearly indicated in the error
text.
delete_service
Description: The delete_service API call is used to remove one or more previously
businessService elements from the UDDI registry and from its containing
businessEntity parent.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
serviceKey: One or more uuid_key values that represent specific instances of known
businessService data.
42
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that one of the uuid_key values passed did not match
with any known serviceKey values. No partial results will be returned. If any
serviceKey values passed are not valid or if the message contained multiple instances
of a uuid_key value, this error will be returned. The key causing the error will be
clearly indicated in the error text.
E_userMismatch: It signifies that one or more of the uuid_key values passed refers
to data that is not controlled by the individual who is represented by the
authentication token. The key causing the error will be clearly indicated in the error
text.
delete_binding
Description: The delete_binding API call causes one or more instances of
bindingTemplate data to be deleted from the UDDI registry.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
bindingKey: One or more uuid_key values that represent specific instances of known
bindingTemplate data.
43
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that one of the uuid_key values passed did not match
with any known bindingKey values. No partial results will be returned - if any
bindingKey values passed are not valid or if the message contained multiple instances
of a uuid_key value, this error will be returned.
E_userMismatch: It signifies that one or more of the bindingKey values passed refers
to a bindingTemplate that is not controlled by the individual associated with the
authentication token.
delete_tModel
Description: The delete_tModel API call is used to logically delete one or more
tModel structures. Logical deletion hides the deleted tModels from find_tModel result
sets but does not physically delete it. Deleting an already deleted tModel has no
effect.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
tModelKey: One or more URN qualified uuid_key values that represent specific
instances of known tModel data. All tModelKey values begin with a uuid URN qualifier
(e.g. "uuid:" followed by a known tModel UUID value.)
44
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
E_invalidKeyPassed: It signifies that one of the URN qualified uuid_key values passed
did not match with any known tModelKey values.
E_userMismatch: It signifies that one or more of the tModelKey values passed refers
to data that is not controlled by the individual who is represented by the
authentication token.
get_registeredInfo
Description: The get_registeredInfo API call is used to get an abbreviated list of all
businessEntity and tModel data that are controlled by the individual associated with
the credentials passed.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
Error Returned
If any error occurs in processing this API call, a dispositionReport element will be
returned to the caller within a SOAP Fault. The following error number information
will be relevant:
45
UDDI
set_publisherAssertions
Description: The set_publisherAssertions API call is used to manage all of the
tracked relationship assertions associated with an individual publisher account.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information will be
relevant:
E_invalidKeyPassed: It signifies that one of the uuid_key values passed did not match
with any known businessKey or tModelKey values. The assertion element and the key
that caused the problem will be clearly indicated in the error text.
46
UDDI
add_publisherAssertions
Description: The add_publisherAssertions API call causes one or more
publisherAssertions to be added to an individual publisher’s assertion collection.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information will be
relevant:
47
UDDI
E_invalidKeyPassed: It signifies that one of the uuid_key values passed did not match
with any known businessKey or tModelKey values. The key and element or attribute
that caused the problem will be clearly indicated in the error text.
delete_publisherAssertions
Description: The delete_publisherAssertions API call causes one or more
publisherAssertion elements to be removed from a publisher’s assertion collection.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
48
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information will be
relevant:
get_assertionStatusReport
Description: The get_assertionStatusReport API call provides administrative
support for determining the status of current and outstanding publisher assertions
that involve any of the business registrations managed by the individual publisher
account. Using this message, a publisher can see the status of assertions that they
have made, as well as see assertions that others have made that involve
businessEntity structures controlled by the calling publisher account.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
status:complete: Passing this value causes only the publisher assertions that
are complete to be returned. Each businessEntity listed in assertions that are
complete has a visible relationship that directly reflects the data in a complete
assertion
49
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information will be
relevant:
get_publisherAssertions
Description: The get_publisherAssertions API call is used to obtain the full set of
publisher assertions that is associated with an individual publisher account.
Arguments
authInfo: This required argument is an element that contains an authentication
token. Authentication tokens are obtained using the get_authToken API call.
50
UDDI
Error Returned
If any error occurs in processing this API call, a dispositionReport element is returned
to the caller within a SOAP Fault. The following error number information will be
relevant:
Error Codes
The following list of error codes can be returned in the error code and error number
(errCode and errno attributes) within a dispositionReport response to the API calls.
Non-error conditions are not reported by way of SOAP Faults but are instead reported
using the dispositionReport element.
51
UDDI
52
UDDI
53
UDDI
54