Compartilhar via


SoapHeader Classe

Definição

Quando substituído em uma classe derivada, representa o conteúdo de um cabeçalho SOAP.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Herança
SoapHeader
Derivado

Exemplos

O serviço Web XML a seguir MyWebService define o MyHeader cabeçalho SOAP e exige que ele seja enviado com todas as chamadas para o método de MyWebMethod serviço Web XML. Além disso, MyWebMethod recebe todos os cabeçalhos SOAP que não sejam o MyHeader cabeçalho 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

Comentários

Cabeçalhos SOAP oferecem um método para passar dados de e para um método de serviço Web XML se os dados não estiverem diretamente relacionados à funcionalidade primária do método de serviço Web XML. Por exemplo, um serviço Web XML pode conter vários métodos de serviço Web XML que exigem um esquema de autenticação personalizado. Em vez de adicionar parâmetros a cada método de serviço Web XML para o esquema de autenticação personalizado, uma SoapHeaderAttribute, referindo-se a uma classe derivada de SoapHeader, pode ser aplicada a cada método de serviço Web XML. A implementação da classe derivada de manipula o esquema de SoapHeader autenticação personalizado. Dessa forma, o método de serviço Web XML implementa apenas a funcionalidade específica a ele e adiciona funcionalidades adicionais usando um cabeçalho SOAP.

A lista a seguir descreve as etapas básicas para receber e processar um cabeçalho SOAP:

  1. Crie uma classe que deriva da SoapHeader representação dos dados passados para o cabeçalho SOAP.

  2. Adicione um membro à classe que implementa um serviço Web XML ou uma classe proxy de cliente de serviço Web XML, do tipo criado na primeira etapa.

  3. Aplique um SoapHeaderAttribute ao método de serviço Web XML ou ao método correspondente na classe proxy, especificando o membro criado na segunda etapa da MemberName propriedade.

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

Construtores

SoapHeader()

Inicializa uma nova instância da classe SoapHeader.

Propriedades

Actor

Obtém ou define o destinatário do cabeçalho SOAP.

DidUnderstand

Obtém ou define um valor que indica se um método de serviço Web XML processou corretamente um cabeçalho SOAP.

EncodedMustUnderstand

Obtém ou define o valor do atributo XML mustUnderstand para o cabeçalho SOAP ao se comunicar com a versão do protocolo SOAP 1.1.

EncodedMustUnderstand12

Obtém ou define o valor do atributo XML mustUnderstand para o cabeçalho SOAP ao se comunicar com a versão do protocolo SOAP 1.2.

EncodedRelay

Obtém ou define o atributo de retransmissão do cabeçalho SOAP 1.2.

MustUnderstand

Obtém ou define um valor que indica se o SoapHeader deve ser compreendido.

Relay

Obtém ou define um valor que indica se o cabeçalho SOAP deverá ser retransmitido para o próximo nó SOAP se o nó atual não entender o cabeçalho.

Role

Obtém ou define o destinatário do cabeçalho SOAP.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também