SoapHeader Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wanneer deze wordt overschreven in een afgeleide klasse, vertegenwoordigt u de inhoud van een SOAP-header.
public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
- Overname
-
SoapHeader
- Afgeleid
Voorbeelden
De volgende MyWebService XML-webservice definieert de MyHeader SOAP-header en vereist dat deze wordt verzonden met alle aanroepen naar de MyWebMethod XML-webservicemethode.
MyWebMethod Bovendien ontvangt u andere SOAP-headers dan de MyHeader SOAP-header.
<%@ 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
Opmerkingen
SOAP-headers bieden een methode voor het doorgeven van gegevens aan en van een XML-webservicemethode als de gegevens niet rechtstreeks zijn gerelateerd aan de primaire functionaliteit van de XML-webservicemethode. Een XML-webservice kan bijvoorbeeld verschillende XML-webservicemethoden bevatten die elk een aangepast verificatieschema vereisen. In plaats van parameters toe te voegen aan elke XML-webservicemethode voor het aangepaste verificatieschema, kan een SoapHeaderAttribute, die verwijst naar een klasse die is afgeleid van SoapHeader, worden toegepast op elke XML-webservicemethode. De implementatie voor de klasse die is afgeleid van het afhandelen van SoapHeader het aangepaste verificatieschema. Op deze manier implementeert de XML-webservicemethode alleen de functionaliteit die specifiek is voor deze service en voegt u extra functionaliteit toe met behulp van een SOAP-header.
De volgende lijst bevat een overzicht van de basisstappen voor het ontvangen en verwerken van een SOAP-header:
Maak een klasse die is afgeleid van het weergeven van SoapHeader de gegevens die zijn doorgegeven aan de SOAP-header.
Voeg een lid toe aan de klasse die een XML-webservice of een proxyklasse van de XML-webserviceclient implementeert, van het type dat in de eerste stap is gemaakt.
Pas een SoapHeaderAttribute toe op de XML-webservicemethode of de bijbehorende methode in de proxyklasse, waarbij u het lid opgeeft dat in de tweede stap van de MemberName eigenschap is gemaakt.
Open in de XML-webservicemethode of xml-webserviceclientcode de eigenschap voor het MemberName verwerken van de gegevens die in de SOAP-header worden verzonden.
Constructors
| Name | Description |
|---|---|
| SoapHeader() |
Initialiseert een nieuw exemplaar van de SoapHeader klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Actor |
Hiermee haalt u de ontvanger van de SOAP-header op of stelt u deze in. |
| DidUnderstand |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een XML-webservicemethode een SOAP-header correct heeft verwerkt. |
| EncodedMustUnderstand |
Hiermee wordt de waarde van het |
| EncodedMustUnderstand12 |
Hiermee haalt u de waarde van het |
| EncodedRelay |
Hiermee wordt het relaykenmerk van de SOAP 1.2-header opgehaald of ingesteld. |
| MustUnderstand |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de SoapHeader waarde moet worden begrepen. |
| Relay |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de SOAP-header moet worden doorgestuurd naar het volgende SOAP-knooppunt als het huidige knooppunt de header niet begrijpt. |
| Role |
Hiermee haalt u de ontvanger van de SOAP-header op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |