SoapHeaderAttribute Classe

Definição

Este atributo é aplicado a um método de serviço Web XML ou a um cliente de serviço Web XML para especificar um cabeçalho SOAP que o método de serviço Web XML ou o cliente de serviço Web XML possam processar. Esta classe não pode ser herdada.

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
Herança
SoapHeaderAttribute
Atributos

Exemplos

O seguinte MyWebService serviço Web XML define um SoapHeader do tipo MyHeader. O Hello método do serviço Web XML exige que o cliente invoque o método do serviço Web XML com este SoapHeader. O Hello serviço Web XML também capta quaisquer cabeçalhos SOAP que não MyHeadersejam .

<%@ 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

Observações

Os passos básicos para receber e processar um cabeçalho SOAP são:

  1. Crie uma classe derivada da SoapHeader representação dos dados passados no cabeçalho SOAP.

  2. Adicione um membro à classe de serviço Web XML ou à classe proxy cliente de serviço Web XML do tipo criado no passo 1.

  3. Aplique a SoapHeaderAttribute ao método do serviço Web XML ou ao método correspondente na classe proxy, especificando o membro criado no passo 2 da MemberName propriedade.

  4. Dentro do método do serviço Web XML ou do código cliente do serviço Web XML, acede à MemberName propriedade para processar os dados enviados no cabeçalho SOAP.

Para mais detalhes, consulte a propriedade MemberName .

Construtores

Name Description
SoapHeaderAttribute(String)

Inicializa uma nova instância da SoapHeaderAttribute classe, definindo o membro da classe do serviço Web XML a representar o conteúdo do cabeçalho SOAP.

Propriedades

Name Description
Direction

Obtém ou define se o cabeçalho SOAP é destinado ao serviço Web XML ou ao cliente do serviço Web XML, ou ambos.

MemberName

Obtém ou define o membro da classe de serviço Web XML que representa o conteúdo do cabeçalho SOAP.

Required
Obsoleto.

Este membro está obsoleto e não tem funcionalidade.

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Ver também