Compartir por


SoapHeader Clase

Definición

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 las llamadas 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 de servicio web XML. Por ejemplo, un servicio web XML puede contener varios métodos de servicio web XML que cada uno requiere 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, se puede aplicar un SoapHeaderAttribute, que hace referencia a una clase derivada de SoapHeader, a cada método de servicio web XML. La implementación de la clase derivada de SoapHeader controla el esquema de 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:

  1. Cree una clase que derive de la representación de SoapHeader los datos pasados al encabezado SOAP.

  2. 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.

  3. 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 .

  4. 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

Nombre Description
SoapHeader()

Inicializa una nueva instancia de la clase SoapHeader.

Propiedades

Nombre Description
Actor

Obtiene o establece el destinatario del encabezado SOAP.

DidUnderstand

Obtiene o establece un valor que indica si un método de servicio web XML procesó correctamente un encabezado SOAP.

EncodedMustUnderstand

Obtiene o establece el valor del atributo XML para el mustUnderstand encabezado SOAP al comunicarse con el protocolo SOAP versión 1.1.

EncodedMustUnderstand12

Obtiene o establece el valor del atributo XML para el mustUnderstand encabezado SOAP al comunicarse con el protocolo SOAP versión 1.2.

EncodedRelay

Obtiene o establece el atributo de retransmisión del encabezado SOAP 1.2.

MustUnderstand

Obtiene o establece un valor que indica si SoapHeader se debe entender .

Relay

Obtiene o establece un valor que indica si el encabezado SOAP se va a retransmitir al siguiente nodo SOAP si el nodo actual no entiende el encabezado.

Role

Obtiene o establece el destinatario del encabezado SOAP.

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también