SoapHeaderAttribute Klass

Definition

Det här attributet tillämpas på en XML-webbtjänstmetod eller en XML-webbtjänstklient för att ange ett SOAP-huvud som XML-webbtjänstmetoden eller XML-webbtjänstklienten kan bearbeta. Det går inte att ärva den här klassen.

public ref class SoapHeaderAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)]
public sealed class SoapHeaderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)>]
type SoapHeaderAttribute = class
    inherit Attribute
Public NotInheritable Class SoapHeaderAttribute
Inherits Attribute
Arv
SoapHeaderAttribute
Attribut

Exempel

Följande MyWebService XML-webbtjänst definierar en SoapHeader av typen MyHeader. XML-webbtjänstmetoden Hello kräver att klienten anropar XML-webbtjänstmetoden med den här SoapHeader. Hello XML-webbtjänsten fångar även alla SOAP-huvuden förutom MyHeader.

<%@ WebService Language="C#" Class="MyWebService"%>
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 SoapHeader.
    public MyHeader myHeader;

    // Member variable to receive all headers other than MyHeader.
    public SoapUnknownHeader[] unknownHeaders;
 
    [WebMethod]
    [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]

    // Receive any SOAP headers other than MyHeader.
    [SoapHeader("unknownHeaders")]
    public void Hello() {

       // Process the MyHeader SoapHeader.
       if (myHeader.MyValue == "Some string") {
          // Process the header.
       }
       foreach (SoapHeader header in unknownHeaders) {
           // Perform some processing on header.
           
           // For those headers that cannot be processed,
           // set the DidUnderstand property to false.
           header.DidUnderstand = false;
       }
    }
}
<%@ WebService Language="VB" Class="MyWebService"%>
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

Public Class MyWebService
    ' Member variable to receive the contents of the MyHeader SoapHeader.
    Public myHeader As MyHeader
    
    ' Member variable to receive all headers other than MyHeader.
    Public unknownHeaders() As SoapUnknownHeader
    
    ' Receive any SOAP headers other than MyHeader.
    <WebMethod, _
        SoapHeader("myHeader", Direction := SoapHeaderDirection.InOut), _
        SoapHeader("unknownHeaders")> _
    Public Sub Hello()        
        
        ' Process the MyHeader SoapHeader.
        If myHeader.MyValue = "Some string" Then
            ' Process the header.
        End If 
        Dim header As SoapHeader
        For Each header In  unknownHeaders
            ' Perform some processing on header
            ' For those headers that cannot be processed, 
            ' set the DidUnderstand to false.
            header.DidUnderstand = False
        Next header
    End Sub
End Class

Kommentarer

De grundläggande stegen för att ta emot och bearbeta en SOAP-rubrik är:

  1. Skapa en klass som härleds från SoapHeader att representera de data som skickas i SOAP-huvudet.

  2. Lägg till en medlem i XML-webbtjänstklassen eller XML-webbtjänstklientproxyklassen av den typ som skapades i steg 1.

  3. Använd en SoapHeaderAttribute på XML-webbtjänstmetoden eller motsvarande metod i proxyklassen och ange den medlem som skapades i steg 2 i MemberName egenskapen.

  4. I XML-webbtjänstmetoden eller XML-webbtjänstklientkoden kommer du åt MemberName egenskapen för att bearbeta data som skickas i SOAP-huvudet.

Mer information finns i egenskapen MemberName .

Konstruktorer

Name Description
SoapHeaderAttribute(String)

Initierar en ny instans av SoapHeaderAttribute klassen och anger medlemmen i XML-webbtjänstklassen som representerar INNEHÅLLET i SOAP-huvudet.

Egenskaper

Name Description
Direction

Hämtar eller anger om SOAP-huvudet är avsett för XML-webbtjänsten eller XML-webbtjänstklienten eller båda.

MemberName

Hämtar eller anger medlemmen i XML-webbtjänstklassen som representerar innehållet i SOAP-huvudet.

Required
Föråldrad.

Den här medlemmen är föråldrad och har inga funktioner.

TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från Attribute)

Gäller för

Se även