SoapHeaderAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Esse 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 pode processar. Essa 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
- Atributos
Exemplos
O serviço Web XML a seguir MyWebService define um SoapHeader dos tipos MyHeader. O Hello método de serviço Web XML requer que o cliente invoque o método de serviço Web XML com isso SoapHeader. O Hello serviço Web XML também captura todos os 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
Comentários
As etapas básicas para receber e processar um cabeçalho SOAP são:
Crie uma classe derivada da SoapHeader representação dos dados passados no cabeçalho SOAP.
Adicione um membro à classe de serviço Web XML ou à classe de proxy do cliente do serviço Web XML do tipo criado na etapa 1.
Aplique um SoapHeaderAttribute ao método de serviço Web XML ou ao método correspondente na classe proxy, especificando o membro criado na etapa 2 na MemberName propriedade.
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.
Para obter mais detalhes, consulte a MemberName propriedade.
Construtores
| Nome | Description |
|---|---|
| SoapHeaderAttribute(String) |
Inicializa uma nova instância da SoapHeaderAttribute classe, definindo o membro da classe de serviço Web XML que representa o conteúdo do cabeçalho SOAP. |
Propriedades
| Nome | Description |
|---|---|
| Direction |
Obtém ou define se o cabeçalho SOAP destina-se ao serviço Web XML ou ao cliente de 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.
Esse membro é obsoleto e não tem nenhuma funcionalidade. |
| TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute. (Herdado de Attribute) |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Retorna o código hash dessa instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |