SoapHeader Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
Utwórz klasę, która pochodzi z SoapHeader reprezentowania danych przekazanych do nagłówka protokołu SOAP.
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.
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 .
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 |
EncodedMustUnderstand12 |
Pobiera lub ustawia wartość atrybutu |
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) |