Jan. 16, 2011, 5:48 a.m.
posted by affe
Discovering Web Services
One of the problems with Web services is simply finding them. Even if you find them, you need some way to determine which messages they accept and which services they provide. The usual term for this process is discovery, which encompasses both finding Web services and determining their interfaces.
Disco and UDDI
Disco is a Microsoft standard for the creation of discovery documents. A Disco document is kept at a standard location on a Web services server and contains paths and information for retrieving other useful information, such as the WSDL file that describes a service. Disco is generally not used outside the .NET world.
UDDI is a method for finding services by referring to a central directory. These can be Web services, URLs for information, or any other online resource. UDDI registries are sites that contain information that is available via UDDI; you can search such a registry to find information about Web services.
UDDI registries come in two forms: public and private. A public UDDI registry is available to everyone via the Internet, and it serves as a central repository of information about Web and other services for businesses. A private UDDI registry follows the same specifications as a public UDDI registry, but it is located on an intranet for the use of workers at one particular enterprise.
Using the Web Services Discovery Tool (disco.exe)
When you set a Web reference in Visual Studio .NET, the software automatically handles the details of discovery for you. But you can also get into the details of the process yourself. One of the tools included in the .NET Framework SDK (and also in Visual Studio .NET) is the Web Services Discovery tool, disco.exe. For example, when you issue the disco http://live.capescience.com/wsdl/AirportWeather.wsdl command, the tool contacts the CapeScience Airport Web service to create these: AirportWeather.wsdl and results.discomap.