SoapHeader Klas

Definitie

Wanneer deze wordt overschreven in een afgeleide klasse, vertegenwoordigt u de inhoud van een SOAP-header.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Overname
SoapHeader
Afgeleid

Voorbeelden

De volgende MyWebService XML-webservice definieert de MyHeader SOAP-header en vereist dat deze wordt verzonden met alle aanroepen naar de MyWebMethod XML-webservicemethode. MyWebMethod Bovendien ontvangt u andere SOAP-headers dan de 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

Opmerkingen

SOAP-headers bieden een methode voor het doorgeven van gegevens aan en van een XML-webservicemethode als de gegevens niet rechtstreeks zijn gerelateerd aan de primaire functionaliteit van de XML-webservicemethode. Een XML-webservice kan bijvoorbeeld verschillende XML-webservicemethoden bevatten die elk een aangepast verificatieschema vereisen. In plaats van parameters toe te voegen aan elke XML-webservicemethode voor het aangepaste verificatieschema, kan een SoapHeaderAttribute, die verwijst naar een klasse die is afgeleid van SoapHeader, worden toegepast op elke XML-webservicemethode. De implementatie voor de klasse die is afgeleid van het afhandelen van SoapHeader het aangepaste verificatieschema. Op deze manier implementeert de XML-webservicemethode alleen de functionaliteit die specifiek is voor deze service en voegt u extra functionaliteit toe met behulp van een SOAP-header.

De volgende lijst bevat een overzicht van de basisstappen voor het ontvangen en verwerken van een SOAP-header:

  1. Maak een klasse die is afgeleid van het weergeven van SoapHeader de gegevens die zijn doorgegeven aan de SOAP-header.

  2. Voeg een lid toe aan de klasse die een XML-webservice of een proxyklasse van de XML-webserviceclient implementeert, van het type dat in de eerste stap is gemaakt.

  3. Pas een SoapHeaderAttribute toe op de XML-webservicemethode of de bijbehorende methode in de proxyklasse, waarbij u het lid opgeeft dat in de tweede stap van de MemberName eigenschap is gemaakt.

  4. Open in de XML-webservicemethode of xml-webserviceclientcode de eigenschap voor het MemberName verwerken van de gegevens die in de SOAP-header worden verzonden.

Constructors

Name Description
SoapHeader()

Initialiseert een nieuw exemplaar van de SoapHeader klasse.

Eigenschappen

Name Description
Actor

Hiermee haalt u de ontvanger van de SOAP-header op of stelt u deze in.

DidUnderstand

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een XML-webservicemethode een SOAP-header correct heeft verwerkt.

EncodedMustUnderstand

Hiermee wordt de waarde van het mustUnderstand XML-kenmerk voor de SOAP-header opgehaald of ingesteld bij de communicatie met SOAP-protocolversie 1.1.

EncodedMustUnderstand12

Hiermee haalt u de waarde van het mustUnderstand XML-kenmerk voor de SOAP-header op of stelt u deze in wanneer u communiceert met SOAP-protocolversie 1.2.

EncodedRelay

Hiermee wordt het relaykenmerk van de SOAP 1.2-header opgehaald of ingesteld.

MustUnderstand

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de SoapHeader waarde moet worden begrepen.

Relay

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de SOAP-header moet worden doorgestuurd naar het volgende SOAP-knooppunt als het huidige knooppunt de header niet begrijpt.

Role

Hiermee haalt u de ontvanger van de SOAP-header op of stelt u deze in.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook