UDDI - Usage Example



Consider a company XYZ wants to register its contact information, service description, and online service access information with UDDI. The following steps are necessary −

  • Choose an operator with which to work. Each operator has different terms and conditions for authorizing access to its replica of the registry.

  • Build or otherwise obtain a UDDI client, such as those provided by the operators.

  • Obtain an authentication token from the operator.

  • Register information about the business. Include as much information as might be helpful to those searching for matches.

  • Release the authentication token.

  • 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.

  • Update the information as necessary to reflect the changing business contact information and new service details, obtaining and releasing a new authentication token from the operator each time. Whenever you need to update or modify the data you've registered, you have to go back to the operator with which you have entered the data.

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.

POST /save_business HTTP/1.1
Host: www.XYZ.com
Content-Type: text/xml; charset = "utf-8"
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>

This example illustrates a SOAP message requesting to register a UDDI business entity for XYZ Company. The key element is blank, because the operator automatically generates the UUID key for the data structure. Most fields are omitted for the sake of showing a simple example.

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.

POST /get_businessDetail HTTP/1.1
Host: www.XYZ.com
Content-Type: text/xml; charset = "utf-8"
Content-Length: nnnn
SOAPAction: "get_businessDetail"

<?xml version = "1.0" encoding = "UTF-8" ?>
<Envelope xmlns = "http://schemas/xmlsoap.org/soap/envelope/">
   <Body>
      <get_businessDetail generic = "2.0" xmlns = "urn:uddi-org:api_v2">
         <businessKey = "C90D731D-772HSH-4130-9DE3-5303371170C2">
         </businessKey>
      </get_businessDetail>
   </Body>
</Envelope>
Advertisements