Comparteix a través de


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 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:

  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

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 mustUnderstand para el encabezado SOAP al comunicarse con la versión 1.1 del protocolo SOAP.

EncodedMustUnderstand12

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

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)

Se aplica a

Consulte también