SoapHeader Klasse

Definition

Stellt beim Überschreiben in einer abgeleiteten Klasse den Inhalt eines SOAP-Headers dar.When overridden in a derived class, represents the content of a SOAP header.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Vererbung
SoapHeader
Abgeleitet

Beispiele

Der folgende MyWebService XML-Webdienst definiert MyHeader den SOAP-Header und erfordert, dass er mit jedem Aufruf der MyWebMethod XML-Webdienst Methode gesendet wird.The following MyWebService XML Web service defines the MyHeader SOAP header and requires it to be sent with any calls to the MyWebMethod XML Web service method. Außerdem empfängt alle SOAP-Header außer dem MyHeader SOAP-Header. MyWebMethodAdditionally, MyWebMethod receives any SOAP headers other than the MyHeader SOAP header.

<%@ WebService Language="C#" Class="MyWebService"%>
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml;
using System;

// Define a SOAP header by deriving from the SoapHeader base class.

public class MyHeader : SoapHeader {
    public string MyValue;
}

public class MyWebService {

    public MyHeader myHeader;
    // Receive all SOAP headers besides the MyHeader SOAP header.
    public SoapUnknownHeader[] unknownHeaders;
 
    [WebMethod]
    [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]

    //Receive any SOAP headers other than MyHeader.
    [SoapHeader("unknownHeaders",Required=false)]

    public string MyWebMethod() {

       foreach (SoapUnknownHeader header in unknownHeaders) {
           // Perform some processing on the header.
       if (header.Element.Name == "MyKnownHeader")
               header.DidUnderstand = true;
       else
                // For those headers that cannot be  
                // processed, set the DidUnderstand property to false.
                header.DidUnderstand = false;
       }
       return "Hello";
    }
}
<%@ WebService Language="VB" Class="MyWebService"%>

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml
Imports System

' Define a SOAP header by deriving from the SoapHeader base class.
Public Class MyHeader
    Inherits SoapHeader
    Public MyValue As String
End Class

Public Class MyWebService
    
    Public theHeader As MyHeader
    ' Receive all SOAP headers besides the MyHeader SOAP header.
    Public unknownHeaders() As SoapUnknownHeader    

    'Receive any SOAP headers other than MyHeader.    
    <WebMethod, _
     SoapHeader("theHeader", Direction := SoapHeaderDirection.InOut), _
     SoapHeader("unknownHeaders")> _
    Public Function MyWebMethod() As String
                
        Dim header As SoapUnknownHeader
        For Each header In unknownHeaders
            ' Perform some processing on the header.
            If header.Element.Name = "MyKnownHeader" Then
                header.DidUnderstand = True
            Else
                ' For those headers that cannot be
                ' processed, set the DidUnderstand propert to false.
                header.DidUnderstand = False
            End If
        Next header
        Return "Hello"
    End Function
    
End Class

Hinweise

SOAP-Header bieten eine Methode zum Übergeben von Daten an eine und von einer XML-Webdienst Methode, wenn die Daten nicht direkt mit der primären Funktion der XML-Webdienst Methode verknüpft sind.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. Beispielsweise kann ein XML-Webdienst mehrere XML-Webdienst Methoden enthalten, die jeweils ein benutzerdefiniertes Authentifizierungsschema erfordern.For instance, an XML Web service might contain several XML Web service methods that each require a custom authentication scheme. Anstatt jeder XML-Webdienst Methode Parameter für das benutzerdefinierte Authentifizierungsschema hinzuzufügen, SoapHeaderAttributekann ein, das auf eine von SoapHeaderabgeleitete Klasse verweist, auf jede XML-Webdienst Methode angewendet werden.Instead of adding parameters to each XML Web service method for the custom authentication scheme, a SoapHeaderAttribute, referring to a class deriving from SoapHeader, can be applied to each XML Web service method. Die Implementierung der von abgeleiteten SoapHeader Klasse behandelt das benutzerdefinierte Authentifizierungsschema.The implementation for the class deriving from SoapHeader handles the custom authentication scheme. Auf diese Weise implementiert die XML-Webdienst Methode nur die spezifische Funktionalität und fügt mithilfe eines SOAP-Headers zusätzliche Funktionalität hinzu.In this manner, the XML Web service method implements only the functionality specific to it and adds additional functionality using a SOAP header.

Die folgende Liste enthält die grundlegenden Schritte zum empfangen und Verarbeiten eines SOAP-Headers:The following list outlines the basic steps to receiving and processing a SOAP header:

  1. Erstellen Sie eine Klasse, die SoapHeader von abgeleitet ist, die die an den SOAP-Header übergebenen Daten darstellt.Create a class that derives from SoapHeader representing the data passed into the SOAP header.

  2. Fügen Sie der-Klasse, die einen XML-Webdienst oder eine XML-Webdienst-Client Proxy Klasse implementiert, ein Member des Typs hinzu, der im ersten Schritt erstellt wurde.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.

  3. Wenden Sie SoapHeaderAttribute einen auf die XML-Webdienst Methode oder die entsprechende Methode in der Proxy Klasse an, und geben Sie dabei den Member an MemberName , der im zweiten Schritt der Eigenschaft erstellt wurde.Apply a 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 MemberName property.

  4. Greifen Sie in der XML-Webdienst Methode oder im XML-Webdienst MemberName -Client Code auf die-Eigenschaft zu, um die im SOAP-Header gesendeten Daten zu verarbeitenWithin the XML Web service method or XML Web service client code, access the MemberName property to process the data sent in the SOAP header.

Konstruktoren

SoapHeader()

Initialisiert eine neue Instanz der SoapHeader-Klasse.Initializes a new instance of the SoapHeader class.

Eigenschaften

Actor

Ruft den Empfänger des SOAP-Headers ab oder legt diesen fest.Gets or sets the recipient of the SOAP header.

DidUnderstand

Ruft einen Wert ab, der angibt, ob eine XML-Webdienstmethode einen SOAP-Header richtig verarbeitet hat, oder legt diesen Wert fest.Gets or sets a value indicating whether an XML Web service method properly processed a SOAP header.

EncodedMustUnderstand

Ruft bei der Kommunikation mit dem SOAP-Protokoll, Version 1.1, den Wert des mustUnderstand-XML-Attributs für den SOAP-Header ab oder legt diesen fest.Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.1.

EncodedMustUnderstand12

Ruft bei der Kommunikation mit dem SOAP-Protokoll, Version 1.2, den Wert des mustUnderstand-XML-Attributs für den SOAP-Header ab oder legt diesen fest.Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.2.

EncodedRelay

Ruft das relay-Attribut des SOAP 1.2-Headers ab oder legt dieses fest.Gets or sets the relay attribute of the SOAP 1.2 header.

MustUnderstand

Ruft einen Wert ab, der angibt, ob der SoapHeader verstanden werden muss, oder legt diesen fest.Gets or sets a value indicating whether the SoapHeader must be understood.

Relay

Ruft einen Wert ab, der angibt, ob der SOAP-Header an den nächsten SOAP-Knoten weitergeleitet werden soll, wenn der aktuelle Knoten den Header nicht versteht.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.

Role

Ruft den Empfänger des SOAP-Headers ab oder legt diesen fest.Gets or sets the recipient of the SOAP header.

Methoden

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für:

Siehe auch