Partager via


SoapHeader Classe

Définition

En cas de substitution dans une classe dérivée, représente le contenu d'un en-tête SOAP.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Héritage
SoapHeader
Dérivé

Exemples

Le service web XML suivant MyWebService définit l’en-tête MyHeader SOAP et nécessite qu’il soit envoyé avec tous les appels à la méthode de MyWebMethod service web XML. En outre, MyWebMethod reçoit tous les en-têtes SOAP autres que l’en-tête 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

Remarques

Les en-têtes SOAP offrent une méthode permettant de transmettre des données vers et à partir d’une méthode de service web XML si les données ne sont pas directement liées aux fonctionnalités principales de la méthode de service web XML. Par exemple, un service Web XML peut contenir plusieurs méthodes de service Web XML qui nécessitent chacun un schéma d’authentification personnalisé. Au lieu d’ajouter des paramètres à chaque méthode de service Web XML pour le schéma d’authentification personnalisé, un SoapHeaderAttribute, faisant référence à une classe dérivée SoapHeader, peut être appliqué à chaque méthode de service Web XML. Implémentation de la classe dérivant des SoapHeader handles du schéma d’authentification personnalisé. De cette façon, la méthode de service Web XML implémente uniquement les fonctionnalités spécifiques à celle-ci et ajoute des fonctionnalités supplémentaires à l’aide d’un en-tête SOAP.

La liste suivante décrit les étapes de base de la réception et du traitement d’un en-tête SOAP :

  1. Créez une classe qui dérive de SoapHeader la représentation des données passées dans l’en-tête SOAP.

  2. Ajoutez un membre à la classe implémentant un service Web XML ou une classe proxy client de service web XML, du type créé à la première étape.

  3. Appliquez une SoapHeaderAttribute méthode de service Web XML ou la méthode correspondante dans la classe proxy, en spécifiant le membre créé à la deuxième étape de la MemberName propriété.

  4. Dans la méthode de service Web XML ou le code client du service web XML, accédez à la MemberName propriété pour traiter les données envoyées dans l’en-tête SOAP.

Constructeurs

SoapHeader()

Initialise une nouvelle instance de la classe SoapHeader.

Propriétés

Actor

Obtient ou définit le destinataire de l'en-tête SOAP.

DidUnderstand

Obtient ou définit une valeur indiquant si une méthode de service Web XML a correctement traité un en-tête SOAP.

EncodedMustUnderstand

Obtient ou définit la valeur de l'attribut XML mustUnderstand de l'en-tête SOAP lors de communications utilisant le protocole SOAP version 1.1.

EncodedMustUnderstand12

Obtient ou définit la valeur de l’attribut XML mustUnderstand de l’en-tête SOAP lors de communications utilisant le protocole SOAP version 1.2.

EncodedRelay

Obtient ou définit l'attribut relay de l'en-tête SOAP 1.2.

MustUnderstand

Obtient ou définit une valeur indiquant si SoapHeader doit être compris.

Relay

Obtient ou définit une valeur indiquant si l'en-tête SOAP doit être relayé au nœud SOAP suivant si le nœud actuel ne comprend pas l'en-tête.

Role

Obtient ou définit le destinataire de l'en-tête SOAP.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi