SoapHeaderAttribute Constructor
Initializes a new instance of the SoapHeaderAttribute class, setting the member of the XML Web service class representing the SOAP header contents.
[Visual Basic] Public Sub New( _ ByVal memberName As String _ ) [C#] public SoapHeaderAttribute( string memberName ); [C++] public: SoapHeaderAttribute( String* memberName ); [JScript] public function SoapHeaderAttribute( memberName : String );
Parameters
- memberName
- The member of the XML Web service class representing the SOAP header contents. The MemberName property will be set to the value of this parameter.
Remarks
An XML Web service client or XML Web service can specify the SOAP headers it wants to process for specific XML Web service methods by applying a SoapHeaderAttribute to the XML Web service method in the XML Web service class or the corresponding method in the proxy class. In order for the XML Web service method to receive the contents of the SOAP header, a member is added to the XML Web service class of a Type derived from SoapHeader. Likewise, an XML Web service client adds a member to the proxy class deriving from SoapHeader. That Type deriving from SoapHeader represents the contents of the SOAP header and is created by the developer of the XML Web service or XML Web service client that wants to receive the SOAP header. Once the class is created, a SoapHeaderAttribute can be applied to the XML Web service method or corresponding method in the XML Web service client proxy class specifing the member to receive the SOAP header contents with the memberName parameter to this constructor or the MemberName property.
An XML Web service method can receive multiple SOAP headers by adding multiple members to the XML Web service class or the XML Web service proxy class and in turn applying multiple SoapHeaderAttribute attributes to the XML Web service method.To receive and process unknown SOAP headers at the time the XML Web service is written, specify the Type of the member to be either SoapUnknownHeader, SoapHeader or an array of either class.
Example
[Visual Basic, C#, C++] The following MyWebService XML Web service defines one SoapHeader of type MyHeader. The Hello XML Web service method specifies the myHeader member as the MemberName property to receive the contents of MyHeader SOAP headers passed into the XML Web service method.
[Visual Basic] Imports System Imports System.Web.Services Imports System.Web.Services.Protocols ' Define a SOAP header by deriving from the SoapHeader base class. ' The header contains just one string value. Public Class MyHeader Inherits SoapHeader Public MyValue As String End Class 'MyHeader Public Class MyWebService ' Member variable to receive the contents of the MyHeader SOAP header. Public myHeader As MyHeader <WebMethod, _ SoapHeader("myHeader", Direction := SoapHeaderDirection.InOut)> _ Public Sub Hello() End Sub 'Hello End Class 'MyWebService [C#] using System; using System.Web.Services; using System.Web.Services.Protocols; // Define a SOAP header by deriving from the SoapHeader base class. // The header contains just one string value. public class MyHeader : SoapHeader { public string MyValue; } public class MyWebService { // Member variable to receive the contents of the MyHeader SOAP header. public MyHeader myHeader; [WebMethod] [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)] public void Hello() { } } [C++] #using <mscorlib.dll> #using <System.EnterpriseServices.dll> #using <System.Web.Services.dll> using namespace System; using namespace System::Web::Services; using namespace System::Web::Services::Protocols; // Define a SOAP header by deriving from the SoapHeader base class. // The header contains just one string value. public __gc class MyHeader : public SoapHeader { public: String* MyValue; }; public __gc class MyWebService { // Member variable to receive the contents of the MyHeader SOAP header. public: MyHeader* myHeader; [WebMethod] [SoapHeader(S"myHeader", Direction=SoapHeaderDirection::InOut)] void Hello() { } };
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
See Also
SoapHeaderAttribute Class | SoapHeaderAttribute Members | System.Web.Services.Protocols Namespace