<?xml version="1.0" encoding="utf-8"?>
<Type Name="SoapHeader" FullName="System.Web.Services.Protocols.SoapHeader">
  <TypeSignature Language="C#" Value="public abstract class SoapHeader" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>System.Web.Services</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.Xml.Serialization.XmlType(IncludeInSchema=false)</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.Xml.Serialization.SoapType(IncludeInSchema=false)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>SOAP headers offer a method for passing data to and from an XML Web service method if the data is not directly related to the XML Web service method's primary functionality. For instance, an XML Web service might contain several XML Web service methods that each require a custom authentication scheme. Instead of adding parameters to each XML Web service method for the custom authentication scheme, a <see cref="T:System.Web.Services.Protocols.SoapHeaderAttribute" />, referring to a class deriving from <see cref="T:System.Web.Services.Protocols.SoapHeader" />, can be applied to each XML Web service method. The implementation for the class deriving from <see cref="T:System.Web.Services.Protocols.SoapHeader" /> handles the custom authentication scheme. In this manner, the XML Web service method implements only the functionality specific to it and adds additional functionality using a SOAP header.</para>
      <para>The following list outlines the basic steps to receiving and processing a SOAP header: </para>
      <list type="ordered">
        <item>
          <para>Create a class that derives from <see cref="T:System.Web.Services.Protocols.SoapHeader" /> representing the data passed into the SOAP header.</para>
        </item>
        <item>
          <para>Add a member to the class implementing an XML Web service or an XML Web service client proxy class, of the type created in the first step.</para>
        </item>
        <item>
          <para>Apply a <see cref="T:System.Web.Services.Protocols.SoapHeaderAttribute" /> to the XML Web service method or the corresponding method in the proxy class, specifying the member created in the second step in the <see cref="P:System.Web.Services.Protocols.SoapHeaderAttribute.MemberName" /> property.</para>
        </item>
        <item>
          <para>Within the XML Web service method or XML Web service client code, access the <see cref="P:System.Web.Services.Protocols.SoapHeaderAttribute.MemberName" /> property to process the data sent in the SOAP header.</para>
        </item>
      </list>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>When overridden in a derived class, represents the content of a SOAP header.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected SoapHeader ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Web.Services.Protocols.SoapHeader" /> class. </para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Actor">
      <MemberSignature Language="C#" Value="public string Actor { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'string'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>To set the recipient of a SOAP header, set the <see cref="P:System.Web.Services.Protocols.SoapHeader.Actor" /> property. Regardless of the version of the SOAP protocol used to communicate with an XML Web service, the .NET Framework automatically generates the SOAP message specific to the version of the SOAP protocol. Specifically, the XML element and XML namespace representing the recipient differ for the two versions.</para>
          <para>XML Web services receiving the SOAP header can get the intended recipient by getting either the <see cref="P:System.Web.Services.Protocols.SoapHeader.Role" /> or <see cref="P:System.Web.Services.Protocols.SoapHeader.Actor" /> properties.</para>
          <para>The recipient(s) for the Body element and each of the SOAP headers within the Header element of a SOAP message need not be the same. If a Header element exists in the SOAP message, it represents additional data that can be sent to and from the XML Web service method or an intermediary. The recipient of that data, known as the SOAP Actor in version 1.1, can be a different URI than the URI for the XML Web service method.</para>
          <para>For more information on the SOAP actor attribute, see the SOAP specification at http://www.w3.org/TR/SOAP/.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the recipient of the SOAP header.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlAttribute("actor", Namespace="http://schemas.xmlsoap.org/soap/envelope/")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapAttribute("actor", Namespace="http://schemas.xmlsoap.org/soap/envelope/")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="DidUnderstand">
      <MemberSignature Language="C#" Value="public bool DidUnderstand { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'bool'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For SOAP headers defined by an XML Web service, ASP.NET assumes the XML Web service method properly processed the SOAP header by setting the initial value of <see cref="P:System.Web.Services.Protocols.SoapHeader.DidUnderstand" /> to true. For SOAP headers not defined by the XML Web service, the initial value is false. If ASP.NET detects SOAP headers passed to an XML Web service method with <see cref="P:System.Web.Services.Protocols.SoapHeader.DidUnderstand" /> set to false after the method returns, a <see cref="T:System.Web.Services.Protocols.SoapHeaderException" /> is thrown back to the XML Web service client instead of the results from the XML Web service method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether an XML Web service method properly processed a SOAP header.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlIgnore</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapIgnore</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="EncodedMustUnderstand">
      <MemberSignature Language="C#" Value="public string EncodedMustUnderstand { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'string'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Do not use this property. Instead use the <see cref="P:System.Web.Services.Protocols.SoapHeader.MustUnderstand" /> property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.1.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlAttribute("mustUnderstand", Namespace="http://schemas.xmlsoap.org/soap/envelope/")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapAttribute("mustUnderstand", Namespace="http://schemas.xmlsoap.org/soap/envelope/")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("0")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="EncodedMustUnderstand12">
      <MemberSignature Language="C#" Value="public string EncodedMustUnderstand12 { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlAttribute("mustUnderstand", Namespace="http://www.w3.org/2003/05/soap-envelope")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapAttribute("mustUnderstand", Namespace="http://www.w3.org/2003/05/soap-envelope")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("0")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Do not use this property. Instead use the <see cref="P:System.Web.Services.Protocols.SoapHeader.MustUnderstand" /> property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.2.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="EncodedRelay">
      <MemberSignature Language="C#" Value="public string EncodedRelay { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlAttribute("relay", Namespace="http://www.w3.org/2003/05/soap-envelope")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapAttribute("relay", Namespace="http://www.w3.org/2003/05/soap-envelope")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("0")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Web.Services.Protocols.SoapHeader.EncodedRelay" /> property applies only to SOAP 1.2 and indicates whether the recipient of the message forwards this header when it forwards the message to the next node downstream. Because the .NET Framework does not support SOAP intermediaries, this property is serialized and deserialized but ignored.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the relay attribute of the SOAP 1.2 header.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="MustUnderstand">
      <MemberSignature Language="C#" Value="public bool MustUnderstand { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'bool'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When an XML Web service client adds a SOAP header to an XML Web service method call with the <see cref="P:System.Web.Services.Protocols.SoapHeader.MustUnderstand" /> property set to true, the XML Web service method must set the <see cref="P:System.Web.Services.Protocols.SoapHeader.DidUnderstand" /> property to true; otherwise, a <see cref="T:System.Web.Services.Protocols.SoapHeaderException" /> is thrown back to the XML Web service client by ASP.NET.</para>
          <para>Although both the <see cref="P:System.Web.Services.Protocols.SoapHeader.EncodedMustUnderstand" /> and <see cref="P:System.Web.Services.Protocols.SoapHeader.MustUnderstand" /> properties can be used to set the value of the mustUnderstand attribute within the SOAP header, the <see cref="P:System.Web.Services.Protocols.SoapHeader.MustUnderstand" /> property allows you to set the attribute using a Boolean value.</para>
          <para>For details on adding SOAP headers to clients, see <format type="text/html"><a href="7BD961F2-B492-48D0-BAFE-09D5D5FEC3BA">[&lt;topic://cpconusingsoapheaders&gt;]</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the <see cref="T:System.Web.Services.Protocols.SoapHeader" /> must be understood.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlIgnore</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapIgnore</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Relay">
      <MemberSignature Language="C#" Value="public bool Relay { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlIgnore</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapIgnore</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The default SOAP 1.2 processing rules require SOAP nodes to remove headers that are not understood by the SOAP processing node before passing the message on to the next node. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether the SOAP header is to be relayed to the next SOAP node if the current node does not understand the header.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Role">
      <MemberSignature Language="C#" Value="public string Role { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.XmlAttribute("role", Namespace="http://www.w3.org/2003/05/soap-envelope")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Xml.Serialization.SoapAttribute("role", Namespace="http://www.w3.org/2003/05/soap-envelope")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>To set the recipient of a SOAP header, set the <see cref="P:System.Web.Services.Protocols.SoapHeader.Actor" /> property. Regardless of the version of the SOAP protocol used to communicate with an XML Web service, the .NET Framework automatically generates the SOAP message specific to the version of the SOAP protocol. Specifically, the XML element and XML namespace representing the recipient differ for the two versions.</para>
          <para>XML Web services receiving the SOAP header can get the intended recipient by getting either the <see cref="P:System.Web.Services.Protocols.SoapHeader.Role" /> or <see cref="P:System.Web.Services.Protocols.SoapHeader.Actor" /> properties.</para>
          <para>The recipient(s) for the Body element and each of the SOAP headers within the Header element of a SOAP message need not be the same. If a Header element exists in the SOAP message, it represents additional data that can be sent to and from the XML Web service method or an intermediary. The recipient of that data, known as the SOAP Role in version 1.2 of the SOAP specification and the SOAP Actor in version 1.1, can be a different URI than the URI for the XML Web service method.</para>
          <para>For more information on the SOAP actor attribute, see the SOAP specification at http://www.w3.org/TR/SOAP/.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the recipient of the SOAP header.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>