SoapHeader Klasa

Definicja

W przypadku zastąpienia w klasie pochodnej reprezentuje zawartość nagłówka PROTOKOŁU SOAP.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Dziedziczenie
SoapHeader
Pochodne

Przykłady

Następująca MyWebService usługa sieci Web XML definiuje MyHeader nagłówek SOAP i wymaga wysłania go z dowolnymi wywołaniami metody MyWebMethod usługi sieci Web XML. MyWebMethod Ponadto odbiera wszystkie nagłówki PROTOKOŁU SOAP inne niż MyHeader nagłówek PROTOKOŁU 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

Uwagi

Nagłówki protokołu SOAP oferują metodę przekazywania danych do i z metody usługi sieci Web XML, jeśli dane nie są bezpośrednio powiązane z podstawową funkcją metody usługi sieci Web XML. Na przykład usługa sieci Web XML może zawierać kilka metod usługi sieci Web XML, które wymagają niestandardowego schematu uwierzytelniania. Zamiast dodawać parametry do każdej metody usługi sieci Web XML dla niestandardowego schematu uwierzytelniania, SoapHeaderAttributemożna zastosować do każdej metody usługi sieci Web XML odwołującej się do klasy pochodnej z SoapHeader. Implementacja klasy pochodzącej z SoapHeader obsługi niestandardowego schematu uwierzytelniania. W ten sposób metoda usługi sieci Web XML implementuje tylko funkcje specyficzne dla niego i dodaje dodatkowe funkcje przy użyciu nagłówka SOAP.

Poniższa lista przedstawia podstawowe kroki odbierania i przetwarzania nagłówka PROTOKOŁU SOAP:

  1. Utwórz klasę, która pochodzi z SoapHeader reprezentowania danych przekazanych do nagłówka protokołu SOAP.

  2. Dodaj element członkowski do klasy implementowania usługi sieci Web XML lub klasy serwera proxy klienta usługi sieci Web XML typu utworzonego w pierwszym kroku.

  3. Zastosuj element SoapHeaderAttribute do metody usługi sieci Web XML lub odpowiedniej metody w klasie serwera proxy, określając element członkowski utworzony w drugim kroku właściwości MemberName .

  4. W metodzie usługi sieci Web XML lub kodzie klienta usługi sieci Web XML uzyskaj dostęp do MemberName właściwości w celu przetworzenia danych wysyłanych w nagłówku protokołu SOAP.

Konstruktory

SoapHeader()

Inicjuje nowe wystąpienie klasy SoapHeader.

Właściwości

Actor

Pobiera lub ustawia adresata nagłówka PROTOKOŁU SOAP.

DidUnderstand

Pobiera lub ustawia wartość wskazującą, czy metoda usługi sieci Web XML prawidłowo przetworzyła nagłówek SOAP.

EncodedMustUnderstand

Pobiera lub ustawia wartość atrybutu mustUnderstand XML nagłówka protokołu SOAP podczas komunikacji z protokołem SOAP w wersji 1.1.

EncodedMustUnderstand12

Pobiera lub ustawia wartość atrybutu mustUnderstand XML nagłówka protokołu SOAP podczas komunikacji z protokołem SOAP w wersji 1.2.

EncodedRelay

Pobiera lub ustawia atrybut przekaźnika nagłówka SOAP 1.2.

MustUnderstand

Pobiera lub ustawia wartość wskazującą, czy SoapHeader element musi być zrozumiały.

Relay

Pobiera lub ustawia wartość wskazującą, czy nagłówek PROTOKOŁU SOAP ma zostać przekazany do następnego węzła SOAP, jeśli bieżący węzeł nie rozumie nagłówka.

Role

Pobiera lub ustawia adresata nagłówka PROTOKOŁU SOAP.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też