Sdílet prostřednictvím


SoapHeaderAttribute Třída

Definice

Tento atribut se použije na metodu webové služby XML nebo klienta webové služby XML k určení hlavičky SOAP, kterou může zpracovat metoda webové služby XML nebo klient webové služby XML. Tuto třídu nelze dědit.

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
Dědičnost
SoapHeaderAttribute
Atributy

Příklady

Následující MyWebService webová služba XML definuje jednu SoapHeaderMyHeaderz typů . Metoda Hello webové služby XML vyžaduje, aby klient vyvolal metodu webové služby XML pomocí tohoto SoapHeaderpříkazu . Hello Webová služba XML také zachytává všechny hlavičky PROTOKOLU SOAP kromě 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

Poznámky

Základní kroky pro příjem a zpracování hlavičky SOAP:

  1. Vytvořte třídu odvozenou z SoapHeader představující data předaná v hlavičce SOAP.

  2. Přidejte člena do třídy webové služby XML nebo třídy proxy serveru webové služby XML typu vytvořeného v kroku 1.

  3. SoapHeaderAttribute Použijte metodu webové služby XML nebo odpovídající metodu ve třídě proxy a zadejte člena vytvořeného v kroku 2 ve MemberName vlastnosti .

  4. V rámci metody webové služby XML nebo kódu klienta webové služby XML přistupovat k MemberName vlastnosti pro zpracování dat odeslaných v hlavičce SOAP.

Další podrobnosti najdete ve MemberName vlastnosti .

Konstruktory

SoapHeaderAttribute(String)

Inicializuje novou instanci SoapHeaderAttribute třídy a nastaví člen třídy webové služby XML představující obsah hlavičky PROTOKOLU SOAP.

Vlastnosti

Direction

Získá nebo nastaví, zda je hlavička SOAP určena pro webové služby XML nebo klienta webové služby XML, nebo obojí.

MemberName

Získá nebo nastaví člen třídy webové služby XML představující obsah hlavičky SOAP.

Required
Zastaralé.

Tento člen je zastaralý a nemá žádné funkce.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také