See Also: SoapHttpClientProtocol Members
If you are building an XML Web service client, then a proxy class that derives indirectly or directly from System.Web.Services.Protocols.WebClientProtocol must be created for the XML Web service. When the XML Web service client calls using SOAP, the proxy class must derive from System.Web.Services.Protocols.SoapHttpClientProtocol, which derives from System.Web.Services.Protocols.HttpWebClientProtocol. System.Web.Services.Protocols.HttpWebClientProtocol, in turn, derives from System.Web.Services.Protocols.WebClientProtocol.
To communicate with an XML Web service, create a proxy class that derives indirectly or directly from System.Web.Services.Protocols.WebClientProtocol for the XML Web service you want to call. Instead of creating the proxy class manually, use the Web Services Description Language tool (Wsdl.exe) to create a proxy class for a given XML Web service's service description. When a proxy class is generated for the SOAP protocol, synchronous calls to XML Web service methods are made via the HttpSimpleClientProtocol.Invoke(string, string, Object[]) method, whereas asynchronous calls are made using the HttpSimpleClientProtocol.BeginInvoke(string, string, Object[], AsyncCallback, object) method and the HttpSimpleClientProtocol.EndInvoke(IAsyncResult) method.