Chapter 32. The System.Web.Services.ProtocolsNamespace

The System.Web.Services.Protocols namespace contains types that support communication between a client and a web service. They define protocols that encode and transmit data across an Internet connection, including HTTP GET, HTTP POST, and SOAP.

The primary use of these types is to support the proxy class that manages the communication between web service and client. You can create this proxy class automatically by using the Visual Studio .NET IDE or the WSDL.exe command-line utility, or you can code it by hand. This class will inherit from HttpGetClientProtocol, HttpPostClientProtocol, or SoapHttpClientProtocol (which is the most common choice and the default for automatically generated proxy classes). Other important types in this namespace include the attributes that you use to set the encoding for SOAP request and response messages, such as SoapDocumentMethodAttribute.

This class also provides types you can use to create SOAP extensions. Typically, SOAP extensions are used to directly access the SOAP messages exchanged between web services and clients before they are sent or deserialized into objects. The SoapExtension class and SoapExtensionAttribute are the basic building blocks for SOAP extensions. You can also use SoapHeader and SoapHeaderAttribute classes to create custom SOAP headers for your message. You can then create web service methods that require specific custom SOAP headers. Figure 32-1 and Figure 32-2

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.