Main Page

  Previous Section Next Section


System.Web.Services.Protocols (system.web.services.dll)abstract class

This class allows you to create custom SOAP headers, which are used to send additional information to or from a web service. For example, rather than require an extra security parameter to authenticate every web service method, you could use a custom SoapHeader. The client could then set a simple property of the proxy class, and the header would be sent automatically with every web method request.

To use a custom SoapHeader, create a class that inherits from SoapHeader, and add the member variables you need to contain additional information (in this case, some sort of security credentials). When invoking a method, instantiate your custom SoapHeader, set its properties accordingly, and send it to the web service or proxy class. The web service must provide a member variable to receive the SoapHeader and must indicate which methods will process the custom header. It marks these methods with a SoapHeaderAttribute.

The Actor property is specified by the SOAP standard and should be set to the URL of the web service. If you set the MustUnderstand property to True, the method in the class receiving the message must set the DidUnderstand property to True, or a SoapHeaderException will be thrown. Note that ASP.NET automatically defaults MustUnderstand to True and automatically defaults DidUnderstand to True as long as the recipient (for example, the web service) contains the custom header class definition. The only time DidUnderstand will not be automatically set to True is when you explicitly retrieve unknown SOAP headers.

public abstract class SoapHeader {
// Protected Constructors
   protected SoapHeader( );
// Public Instance Properties
   public string Actor{set; get; }
   public bool DidUnderstand{set; get; }
   public string EncodedMustUnderstand{set; get; }
   public bool MustUnderstand{set; get; }



Returned By


Passed To

SoapHeaderCollection.{Add( ), Contains( ), CopyTo( ), IndexOf( ), Insert( ), Remove( ), this}

      Previous Section Next Section