SoapHeader Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Quando se ne effettua l'override in una classe derivata, rappresenta il contenuto di un'intestazione SOAP.
public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
- Ereditarietà
-
SoapHeader
- Derivato
Esempio
Il servizio Web XML seguente MyWebService
definisce l'intestazione MyHeader
SOAP e richiede che venga inviato con qualsiasi chiamata al metodo del MyWebMethod
servizio Web XML. Inoltre, MyWebMethod
riceve eventuali intestazioni SOAP diverse dall'intestazione MyHeader
SOAP.
<%@ 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 passare i dati a e da un metodo di servizio Web XML se i dati non sono direttamente correlati alla funzionalità primaria del metodo del servizio Web XML. Ad esempio, un servizio Web XML potrebbe contenere diversi metodi di servizio Web XML che richiedono uno schema di autenticazione personalizzato. Anziché aggiungere parametri a ogni metodo di servizio Web XML per lo schema di autenticazione personalizzato, un SoapHeaderAttributeoggetto , che fa riferimento a una classe derivata da SoapHeader, può essere applicata a ogni metodo di servizio Web XML. L'implementazione per la classe derivata da SoapHeader gestisce lo schema di autenticazione personalizzato. In questo modo, il metodo del servizio Web XML implementa solo le funzionalità specifiche e aggiunge funzionalità aggiuntive usando un'intestazione SOAP.
L'elenco seguente illustra i passaggi di base per la ricezione e l'elaborazione di un'intestazione SOAP:
Creare una classe che deriva da SoapHeader che rappresenta i dati passati nell'intestazione SOAP.
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.
Applicare un SoapHeaderAttribute oggetto al metodo del servizio Web XML o al metodo corrispondente nella classe proxy, specificando il membro creato nel secondo passaggio della MemberName proprietà.
All'interno del metodo del servizio Web XML o del codice client del servizio Web XML, accedere alla MemberName proprietà per elaborare i dati inviati nell'intestazione SOAP.
Costruttori
SoapHeader() |
Inizializza una nuova istanza della classe SoapHeader. |
Proprietà
Actor |
Ottiene o imposta il destinatario dell'intestazione SOAP. |
DidUnderstand |
Ottiene o imposta un valore che indica se un metodo di servizio Web XML ha elaborato correttamente un'intestazione SOAP. |
EncodedMustUnderstand |
Ottiene o imposta il valore dell'attributo XML |
EncodedMustUnderstand12 |
Ottiene o imposta il valore dell'attributo XML |
EncodedRelay |
Ottiene o imposta l'attributo "relay" dell'intestazione SOAP 1.2. |
MustUnderstand |
Ottiene o imposta un valore che indica se l'oggetto SoapHeader deve essere riconosciuto. |
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. |
Role |
Ottiene o imposta il destinatario dell'intestazione SOAP. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |