SoapHeader Classe

Definizione

Quando se ne effettua l'override in una classe derivata, rappresenta il contenuto di un'intestazione SOAP.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
Ereditarietà
SoapHeader
Derivato

Esempio

Il servizio MyWebService Web XML seguente definisce l' MyHeader intestazione SOAP e richiede che venga inviata con qualsiasi chiamata al metodo del MyWebMethod servizio Web XML.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. Inoltre, MyWebMethod riceve tutte le intestazioni SOAP diverse dall' MyHeader intestazione SOAP.Additionally, 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

Commenti

Le intestazioni SOAP offrono un metodo per il passaggio di dati da e verso un metodo di servizio Web XML se i dati non sono direttamente correlati alla funzionalità principale del metodo di servizio Web XML.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. Un servizio Web XML, ad esempio, può contenere diversi metodi di servizio Web XML che richiedono ciascuno uno schema di autenticazione personalizzato.For instance, an XML Web service might contain several XML Web service methods that each require a custom authentication scheme. Anziché aggiungere parametri a ogni metodo di servizio Web XML per lo schema di autenticazione personalizzato, SoapHeaderAttributeun oggetto, che fa riferimento a una classe che SoapHeaderderiva da, può essere applicato a ogni metodo di servizio Web XML.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. L'implementazione per la classe che deriva da SoapHeader gestisce lo schema di autenticazione personalizzato.The implementation for the class deriving from SoapHeader handles the custom authentication scheme. In questo modo, il metodo di servizio Web XML implementa solo le funzionalità specifiche e aggiunge funzionalità aggiuntive mediante un'intestazione SOAP.In this manner, the XML Web service method implements only the functionality specific to it and adds additional functionality using a SOAP header.

Nell'elenco seguente vengono descritti i passaggi di base per la ricezione e l'elaborazione di un'intestazione SOAP:The following list outlines the basic steps to receiving and processing a SOAP header:

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

  2. Aggiungere un membro alla classe che implementa un servizio Web XML o una classe proxy client del servizio Web XML del tipo creato nel primo passaggio.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. Applicare un SoapHeaderAttribute oggetto al metodo del servizio Web XML o al metodo corrispondente nella classe proxy, specificando il membro creato nel secondo passaggio 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 the second step 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.

Costruttori

SoapHeader()

Inizializza una nuova istanza della classe SoapHeader.Initializes a new instance of the SoapHeader class.

Proprietà

Actor

Ottiene o imposta il destinatario dell'intestazione SOAP.Gets or sets the recipient of the SOAP header.

DidUnderstand

Ottiene o imposta un valore che indica se un metodo di servizio Web XML ha elaborato correttamente un'intestazione SOAP.Gets or sets a value indicating whether an XML Web service method properly processed a SOAP header.

EncodedMustUnderstand

Ottiene o imposta il valore dell'attributo XML mustUnderstand per l'intestazione SOAP quando in comunicazione con il protocollo SOAP 1.1.Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.1.

EncodedMustUnderstand12

Ottiene o imposta il valore dell'attributo XML mustUnderstand per l'intestazione SOAP durante la comunicazione con il protocollo SOAP 1.2.Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.2.

EncodedRelay

Ottiene o imposta l'attributo "relay" dell'intestazione SOAP 1.2.Gets or sets the relay attribute of the SOAP 1.2 header.

MustUnderstand

Ottiene o imposta un valore che indica se l'oggetto SoapHeader deve essere riconosciuto.Gets or sets a value indicating whether the SoapHeader must be understood.

Relay

Ottiene o imposta un valore che indica se l'intestazione SOAP deve essere inoltrata al successivo nodo SOAP se il nodo corrente non riconosce l'intestazione.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

Ottiene o imposta il destinatario dell'intestazione SOAP.Gets or sets the recipient of the SOAP header.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

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

(Ereditato da Object)
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)

Si applica a

Vedi anche