SoapUnknownHeader-Klasse
Stellt die von einem SOAP-Header empfangenen Daten dar, die vom empfangenden XML-Webdienst oder XML-Webdienstclient nicht erkannt wurden. Diese Klasse kann nicht geerbt werden.
Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)
Syntax
'Declaration
Public NotInheritable Class SoapUnknownHeader
Inherits SoapHeader
'Usage
Dim instance As SoapUnknownHeader
public sealed class SoapUnknownHeader : SoapHeader
public ref class SoapUnknownHeader sealed : public SoapHeader
public final class SoapUnknownHeader extends SoapHeader
public final class SoapUnknownHeader extends SoapHeader
Hinweise
Ein SOAP-Client kann einen XML-Webdienst in Form eines SOAP-Headers mit über die erforderlichen Parameter hinausgehenden zusätzlichen Daten aufrufen. Ein mit ASP.NET erstellter XML-Webdienst oder ein XML-Webdienstclient kann alle SOAP-Header anzeigen, die ihm beim Erstellen des XML-Webdiensts noch nicht bekannt waren. Hierzu wird ein SoapHeaderAttribute mit einer MemberName-Eigenschaft eines Arrays von SoapHeader, SoapHeader, SoapUnknownHeader oder eines Arrays von SoapUnknownHeader auf die XML-Webdienstmethode angewendet. Wenn Sie den Type von SoapUnknownHeader angeben, kann der XML-Webdienst den Inhalt des SOAP-Headers als XmlElement anzeigen.
Beispiel
Der MyWebService
-XML-Webdienst akzeptiert und verarbeitet den mit jedem Aufruf an die MyWebMethod
-XML-Webdienstmethode gesendeten MyHeader
-SOAP-Header. Darüber hinaus empfängt MyWebMethod
alle SOAP-Header mit Ausnahme von MyHeader
.
<%@ 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 myHeader As MyHeader
' Receive all SOAP headers besides the MyHeader SOAP header.
Public unknownHeaders() As SoapUnknownHeader
'Receive any SOAP headers other than MyHeader.
<WebMethod, _
SoapHeader("myHeader", Direction := SoapHeaderDirection.InOut), _
SoapHeader("unknownHeaders")> _
Public Function MyWebMethod() As String
Dim unknownHeaderAttributes As String = String.Empty
' Set myHeader.MyValue to some value.
Dim header As SoapUnknownHeader
For Each header In unknownHeaders
' Perform some processing on the header.
Dim attribute As XmlAttribute
For Each attribute In header.Element.Attributes
unknownHeaderAttributes &= attribute.Name & ":" & _
attribute.Value & ";"
Next attribute
' For those headers that cannot be
' processed, set the DidUnderstand property to false.
header.DidUnderstand = False
Next header
Return unknownHeaderAttributes
End Function
End Class
<%@ 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")]
public string MyWebMethod() {
string unknownHeaderAttributes = String.Empty;
// Set myHeader.MyValue to some value.
foreach (SoapUnknownHeader header in unknownHeaders) {
// Perform some processing on the header.
foreach (XmlAttribute attribute in header.Element.Attributes) {
unknownHeaderAttributes = unknownHeaderAttributes + attribute.Name + ":" + attribute.Value + ";";
}
// For those headers that cannot be
// processed, set the DidUnderstand property to false.
header.DidUnderstand = false;
}
return unknownHeaderAttributes;
}
}
Vererbungshierarchie
System.Object
System.Web.Services.Protocols.SoapHeader
System.Web.Services.Protocols.SoapUnknownHeader
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
SoapUnknownHeader-Member
System.Web.Services.Protocols-Namespace
SoapHeaderAttribute-Klasse
SoapHeader-Klasse