SoapHeader Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cuando se reemplaza en una clase derivada, representa el contenido de un encabezado SOAP.
public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
- Herencia
-
SoapHeader
- Derivado
Ejemplos
El siguiente MyWebService
servicio web XML define el MyHeader
encabezado SOAP y requiere que se envíe con cualquier llamada al método de MyWebMethod
servicio web XML. Además, MyWebMethod
recibe los encabezados SOAP que no sean el MyHeader
encabezado 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
Comentarios
Los encabezados SOAP ofrecen un método para pasar datos a y desde un método de servicio web XML si los datos no están directamente relacionados con la funcionalidad principal del método web XML. Por ejemplo, un servicio web XML puede contener varios métodos de servicio web XML que requieren cada uno de ellos un esquema de autenticación personalizado. En lugar de agregar parámetros a cada método de servicio web XML para el esquema de autenticación personalizado, una SoapHeaderAttributeclase , que hace referencia a una clase que deriva de SoapHeader, se puede aplicar a cada método de servicio web XML. La implementación de la clase que deriva de controla el esquema de SoapHeader autenticación personalizado. De esta manera, el método de servicio web XML solo implementa la funcionalidad específica de ella y agrega funcionalidad adicional mediante un encabezado SOAP.
En la lista siguiente se describen los pasos básicos para recibir y procesar un encabezado SOAP:
Cree una clase que derive de la representación de SoapHeader los datos pasados al encabezado SOAP.
Agregue un miembro a la clase que implementa un servicio web XML o una clase proxy de cliente de servicio web XML, del tipo creado en el primer paso.
Aplique un SoapHeaderAttribute elemento al método de servicio web XML o al método correspondiente de la clase proxy, especificando el miembro creado en el segundo paso de la MemberName propiedad .
Dentro del método de servicio web XML o el código de cliente del servicio web XML, acceda a la MemberName propiedad para procesar los datos enviados en el encabezado SOAP.
Constructores
SoapHeader() |
Inicializa una nueva instancia de la clase SoapHeader. |
Propiedades
Actor |
Obtiene o establece el destinatario del encabezado SOAP. |
DidUnderstand |
Obtiene o establece un valor que indica si un método de servicios Web XML procesó correctamente un encabezado SOAP. |
EncodedMustUnderstand |
Obtiene o establece el valor del atributo XML |
EncodedMustUnderstand12 |
Obtiene o establece el valor del atributo XML |
EncodedRelay |
Obtiene o establece el atributo de retransmisión del encabezado SOAP 1.2. |
MustUnderstand |
Obtiene o establece un valor que indica si debe reconocerse SoapHeader. |
Relay |
Obtiene o establece un valor que indica si el encabezado SOAP se retransmite al siguiente nodo SOAP si el nodo actual no entiende el encabezado. |
Role |
Obtiene o establece el destinatario del encabezado SOAP. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |