System.Web.Services.Description.ProtocolReflector Class

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


public abstract class ProtocolReflector


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.


Namespace: System.Web.Services.Description
Assembly: System.Web.Services (in System.Web.Services.dll)
Assembly Versions: 1.0.5000.0,