Freigeben über


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