© 2004 Microsoft Corporation. All rights reserved.
Figure 1 results.discomap
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Results>
    <DiscoveryClientResult 
      referenceType=
         "System.Web.Services.Discovery.ContractReference" 
      url="http://localhost/math/math.asmx?wsdl" 
      filename="math.wsdl"/>
    <DiscoveryClientResult 
      referenceType=
          "System.Web.Services.Discovery.DiscoveryDocumentReference" 
      url="http://localhost/math/related-services/default.disco" 
      filename="default.disco" />
  </Results>
</DiscoveryClientResultsFile>
Figure 9 UDDI Inquiry API

Name
Description
find_business
This locates information about one or more businesses.
find_service
This locates services within a registered businessEntity.
find_binding
This locates bindings within a registered businessService.
find_tModel
This locates one or more tModel information structures.
get_businessDetail
This gets businessEntity information for one or more businesses.
get_businessDetailExt
This gets extended businessEntity information.
get_serviceDetail
This gets full details for a set of registered businessServices.
get_bindingDetail
This gets bindingTemplate information for making service requests.
get_tModelDetail
This gets details for a set of registered tModels.
Figure 10 Find Business Result
<s:Envelope 
  xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
  <s:Body>
    <businessList generic="1.0" truncated="false"
      operator="Microsoft Corporation"
      xmlns="urn:uddi-org:api">
      <businessInfos>
        <businessInfo 
        businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3">
        <name>Microsoft Corporation</name>
        <description xml:lang="en">Empowering people through great 
          software...</description>
        <serviceInfos>
        <serviceInfo 
         businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" 
         serviceKey="1FFE1F71-2AF3-45FB-B788-09AF7FF151A4">
          <name>Web services for smart searching</name>
        </serviceInfo>
        <serviceInfo 
         businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" 
         serviceKey="611C5867-384E-4FFD-B49C-28F93A7B4F9B">
          <name>Volume Licensing Select Program</name>
        </serviceInfo>
        <serviceInfo 
         businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" 
         serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
          <name>UDDI Web Services</name>
        </serviceInfo>
        •••
        </serviceInfos>
        </businessInfo>
      </businessInfos>
    </businessList>
  </s:Body>
</s:Envelope>
Figure 11 Find Service Result
<?xml version='1.0' encoding='utf-8'?>
<s:Envelope 
  xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
  <s:Body>
    <serviceList generic="1.0" 
      operator="Microsoft Corporation" 
      truncated="false" xmlns="urn:uddi-org:api">
      <serviceInfos>
      <serviceInfo 
       businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" 
       serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
        <name>UDDI Web Services</name>
      </serviceInfo>
      </serviceInfos>
     </serviceList>
  </s:Body>
</s:Envelope>
Figure 12 Get Service Detail Example
<?xml version='1.0' encoding='utf-8'?>
<s:Envelope 
  xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
  <s:Body>
  <serviceDetail generic="1.0" 
    operator="Microsoft Corporation" 
    truncated="false" xmlns="urn:uddi-org:api">
    <businessService 
    businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" 
    serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
    <name>UDDI Web Services</name>
    <description xml:lang="en">UDDI SOAP/XML message-based 
      programmatic web service interfaces.
    </description>
    <bindingTemplates>
    <bindingTemplate 
     bindingKey="313C2BF0-021D-405C-8149-25FD969F7F0B" 

     serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
      <description xml:lang="en">Production UDDI server, 
        Publishing interface
      </description>
      <accessPoint URLType="https">
       https://uddi.microsoft.com/publish
      </accessPoint>
      <tModelInstanceDetails>
        <tModelInstanceInfo tModelKey="
         uuid:64C756D1-3374-4E00-AE83-EE12E38FAE63">
          <description xml:lang="en">UDDI SOAP Publication 
        Interface</description>
        </tModelInstanceInfo>
      </tModelInstanceDetails>
    </bindingTemplate>
      •••
Figure 13 UDDI Publishing API

Name
Description
get_authToken
Requests an authentication token from an operator site.
get_registeredInfo
Requests information currently managed by the user.
save_business
Registers/updates a businessEntity.
save_service
Registers/updates a businessService.
save_binding
Registers/updates a bindingTemplate.
save_tModel
Registers/updates a tModel.
delete_business
Deletes a businessEntity from the registry.
delete_service
Deletes a businessService from the registry.
delete_binding
Deletes a bindingTemplate from the registry.
delete_tModel
Deletes a tModel from the registry.
discard_authToken
Discards an existing authentication token.
Figure 14 Save Business Example
<?xml version='1.0' encoding='utf-8'?>
<s:Envelope xmlns:s=
  'http://schemas.xmlsoap.org/soap/envelope/'>
  <s:Body>
    <save_business generic="1.0" xmlns="urn:uddi-org:api">
      <!-- retrieved from get_authToken API -->
      <authinfo>fd3c7a44-118f-413a-a2e3-473a35379993
      </authinfo>
      <businessEntity
        businessKey="ee3be846-d828-4a38-a5e4-3c33f931d122">
        <name>Developmentor</name>
        <description>Services the developer by...
        </description>
        <businessServices>
          <!-- service descriptions go here -->
        </businessServices> 
      </businessEntity>
    </save_business>
  </s:Body>
</s:Envelope>
Figure 15 Using Native Objects
Dim req As New UDDIEnv.RequestManager   
Dim env As New UDDIEnv.Envelope         
Dim respEnv As UDDIEnv.Envelope         
Dim findBus As New UDDI10.find_business  
Dim busList As New UDDI10.businessList   
Dim busInfo As UDDI10.businessInfo    

'// set up the request document with request envelope
Set env.Plugin = findBus
'// set search criteria
findBus.Name = "Microsoft"
'// send the request and get back response envelope
Set respEnv = req.UDDIRequest(env)
'// Add object to the envelope to read the response
Set respEnv.Plugin = busList
For Each result In busList.businessInfos
    Debug.Print result.Name
Next
Figure 17 ASP File
<%@ page language="C#" contenttype="text/xml" 
    enablesessionstate="false" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<% Response.ContentType = "text/xml"; %>
<disco:discovery 
  xmlns:disco="http://schemas.xmlsoap.org/disco/"

  xmlns:scl="http://schemas.xmlsoap.org/disco/scl/">
<%
  SqlConnection conn = new SqlConnection("data 
      source=localhost;initial catalog=uddilite;user id=sa;pwd=");
      conn.Open();
  try {
    SqlCommand cmd = 
        new SqlCommand("select contract, documentation from contracts");
    cmd.Connection = conn;
    IDataReader reader = null;
    reader = cmd.ExecuteReader();

  while (reader.Read()) {
%>
    <scl:contractRef ref="<%= reader[0].ToString() %>" docRef="<%= 
       reader[1].ToString() %>" />
<%
  }
}
finally {
  conn.Close();
}
%>
</disco:discovery>

Home
Topics
Issues
Columns
Downloads
Subscribe
Contact Us

MSDN Magazine