SoapHeaderAttribute Classe

Definizione

Questo attributo viene applicato a un metodo di servizio Web XML o un client di servizi Web XML per specificare un'intestazione SOAP che può essere elaborata dal metodo o dal client di servizi Web XML.This attribute is applied to an XML Web service method or an XML Web service client to specify a SOAP header that the XML Web service method or XML Web service client can process. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class SoapHeaderAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true, Inherited=true)]
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)]
public sealed class SoapHeaderAttribute : Attribute
type SoapHeaderAttribute = class
    inherit Attribute
Public NotInheritable Class SoapHeaderAttribute
Inherits Attribute
Ereditarietà
SoapHeaderAttribute
Attributi

Esempi

Il servizio MyWebService Web XML seguente definisce uno SoapHeader di tipo MyHeader.The following MyWebService XML Web service defines one SoapHeader of type MyHeader. Il Hello metodo di servizio Web XML richiede al client di richiamare il metodo del servizio Web XML SoapHeadercon questo.The Hello XML Web service method requires the client to invoke the XML Web service method with this SoapHeader. Il Hello servizio Web XML intercetta inoltre eventuali intestazioni SOAP diverse da MyHeader.The Hello XML Web service also catches any SOAP headers other than 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

Commenti

I passaggi di base per la ricezione e l'elaborazione di un'intestazione SOAP sono:The basic steps to receiving and processing a SOAP header are:

  1. Creare una classe che deriva dall' SoapHeader oggetto che rappresenta i dati passati nell'intestazione SOAP.Create a class deriving from SoapHeader representing the data passed in the SOAP header.

  2. Aggiungere un membro alla classe del servizio Web XML o alla classe proxy client del servizio Web XML del tipo creato nel passaggio 1.Add a member to the XML Web service class or XML Web service client proxy class of the type created in step 1.

  3. Applicare un SoapHeaderAttribute oggetto al metodo del servizio Web XML o al metodo corrispondente nella classe proxy, specificando il membro creato nel passaggio 2 MemberName della proprietà.Apply a SoapHeaderAttribute to the XML Web service method or the corresponding method in the proxy class, specifying the member created in step 2 in the MemberName property.

  4. All'interno del metodo del servizio Web XML o del codice client del servizio Web MemberName XML, accedere alla proprietà per elaborare i dati inviati nell'intestazione SOAP.Within the XML Web service method or XML Web service client code, access the MemberName property to process the data sent in the SOAP header.

Per ulteriori informazioni, vedere la MemberName proprietà.For more details, see the MemberName property.

Costruttori

SoapHeaderAttribute(String)

Inizializza una nuova istanza della classe SoapHeaderAttribute, impostando il membro della classe di servizi Web XML che rappresenta il contenuto dell'intestazione SOAP.Initializes a new instance of the SoapHeaderAttribute class, setting the member of the XML Web service class representing the SOAP header contents.

Proprietà

Direction

Ottiene o imposta se l'intestazione SOAP è destinata al servizio Web XML, al client di servizi Web XML o a entrambi.Gets or sets whether the SOAP header is intended for the XML Web service or the XML Web service client or both.

MemberName

Ottiene o imposta il membro della classe di servizi Web XML che rappresenta il contenuto dell'intestazione SOAP.Gets or sets the member of the XML Web service class representing the SOAP header contents.

Required

Questo membro è obsoleto e non ha alcuna funzionalità.This member is obsolete and has no functionality.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Ereditato da Attribute)

Si applica a

Vedi anche