SoapHeader Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Quando sobreposto numa 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 seguinte MyWebService serviço Web XML define o MyHeader cabeçalho SOAP e exige que seja enviado com quaisquer chamadas ao MyWebMethod método do serviço Web XML. Além disso, MyWebMethod recebe quaisquer 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
Observações
Os cabeçalhos SOAP oferecem um método para passar dados para e de um método de serviço Web XML se os dados não estiverem diretamente relacionados com a funcionalidade principal do método Web Method. Por exemplo, um serviço Web XML pode conter vários métodos de serviço Web XML que requerem cada um 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, pode ser aplicado um SoapHeaderAttribute, referindo-se a uma classe derivada de SoapHeader, a cada método de serviço Web XML. A implementação da classe derivada de SoapHeader gere o esquema de autenticação personalizado. Desta forma, o método do serviço Web XML implementa apenas a funcionalidade específica e adiciona funcionalidades adicionais usando um cabeçalho SOAP.
A lista seguinte descreve os passos básicos para receber e processar um cabeçalho SOAP:
Crie uma classe que derive da SoapHeader representação dos dados passados para o cabeçalho SOAP.
Adicione um membro à classe que implementa um serviço Web XML ou uma classe proxy cliente de serviço Web XML, do tipo criado no primeiro passo.
Aplique a SoapHeaderAttribute ao método do serviço Web XML ou ao método correspondente na classe proxy, especificando o membro criado no segundo passo da MemberName propriedade.
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.
Construtores
| Name | Description |
|---|---|
| SoapHeader() |
Inicializa uma nova instância da SoapHeader classe. |
Propriedades
| Name | Description |
|---|---|
| Actor |
Recebe ou define o destinatário do cabeçalho SOAP. |
| DidUnderstand |
Recebe 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 |
| EncodedMustUnderstand12 |
Obtém ou define o valor do |
| EncodedRelay |
Recebe ou define o atributo relé do cabeçalho SOAP 1.2. |
| MustUnderstand |
Recebe ou define um valor que indica se o SoapHeader deve ser compreendido. |
| Relay |
Recebe ou define um valor que indica se o cabeçalho SOAP deve ser retransmitido para o próximo nó SOAP caso o nó atual não compreenda o cabeçalho. |
| Role |
Recebe ou define o destinatário do cabeçalho SOAP. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |