Chapter 31. The System.Web.Services.DiscoveryNamespace

The System.Web.Services.Discovery namespace includes the classes that model .NET web service discovery documents (usually seen as .disco or .vsdisco files). These classes are generally not used directly, as the discovery process is automated in tools such as Visual Studio .NET. However, they could be used to create programs that worked with discovery documents for reasons other than consuming a given web service. For example, you could create a utility that parses multiple discovery documents and retrieves aggregate information.

The discovery process has little to do with Universal Description, Design, Discovery, and Integration (UDDI), the cross-vendor initiative for publishing information about business and their web services in an online repository. (In fact, UDDI repositories can provide links to web services or discovery documents.) Discovery documents are a simple approach--essentially nothing more than a collection of links without any associated documentation or categorization. These “links” can point to WSDL service descriptions, XSD schemas, or other discovery documents.

A good starting point to understanding this namespace is the DiscoveryDocument class, which represents a single .disco or .vsdisco file. The most useful type in this namespace is the DiscoveryClientProtocol class, which allows you to invoke web service discovery programmatically. Figure 31-1 shows the types in this namespace.

Figure 31-1. The System.Web.Services.Discovery ...

Get ASP.NET in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.