|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
XML Web Service Discovery
XML Web service discovery is the process of locating, or discovering, one or more related documents that describe a particular XML Web service using the Web Services Description Language (WSDL). It is through the discovery process that XML Web service clients learn that an XML Web service exists and where to find the XML Web service's description document.
A published .disco file, which is an XML document that contains links to other resources that describe the XML Web service, enables programmatic discovery of an XML Web service. The following shows an example of the structure of a discovery document:
<?xml version="1.0" encoding="utf-8" ?> <discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/"> <contractRef ref="http://www.contoso.com/Counter.asmx?wsdl" docRef="http://www.contoso.com/Counter.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" /> <soap address="http://www.contoso.com/Counter.asmx" xmlns:q1="http://tempuri.org/" binding="q1:CounterSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" /> </discovery>
The discovery document is a container for elements that typically contain links (URLs) to resources that provide discovery information for an XML Web service. If the URLs are relative, they are assumed to be relative to the location of the discovery document.
However, a Web site that implements an XML Web service need not support discovery. Another site could be responsible for describing the service, such as an XML Web services directory. Alternatively, there might not be a public means of finding the service, such as when you create the service for private use.