Provides common functionality across communication protocols for creating System.Web.Services.Description.ServiceDescription objects from classes that are identified as Web services.
See Also: ProtocolReflector Members
The abstract System.Web.Services.Description.ProtocolReflector class and its concrete derived classes create System.Web.Services.Description.ServiceDescription objects from classes that are identified as Web services with the System.Web.Services.WebServiceAttribute attribute. Each concrete System.Web.Services.Description.ProtocolReflector-derived class generates System.Web.Services.Description.ServiceDescription objects according to a specified communication protocol; System.Web.Services.Description.ProtocolReflector provides common functionality regardless of the protocol.
An output System.Web.Services.Description.ServiceDescription instance can be used to generate a Web Services Description Language (WSDL) document with the ServiceDescription.Write(System.IO.Stream) method or one of the available overloads. The System.Web.Services.Description.ServiceDescription instance can also be used by the System.Web.Services.Description.ServiceDescriptionImporter class and related classes to generate client proxy code or abstract server code.
The System.Web.Services.Description.ProtocolReflector class uses the System.Web.Services.WebServiceBindingAttribute to create a System.Web.Services.Description.ServiceDescription for each binding it identifies in the Web service class. If that attribute is not present, the System.Web.Services.Description.ProtocolReflector class creates a single binding for the entire class. For each Web service method (a method in the Web service class appearing with the System.Web.Services.WebMethodAttribute) belonging to a binding, a class derived from System.Web.Services.Description.ProtocolReflector generates an operation and associated messages that are added to the System.Web.Services.Description.ServiceDescription object.
Typically, a developer uses these classes indirectly through the System.Web.Services.Description.ServiceDescriptionReflector class, instead of directly invoking classes derived from System.Web.Services.Description.ProtocolReflector.