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