Nyelv

SoapHeader Osztály

Definíció

Ha egy származtatott osztályban felül van bírálva, a SOAP-fejléc tartalmát jelöli.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Öröklődés
SoapHeader
Származtatott

Példák

A következő MyWebService XML-webszolgáltatás határozza meg a MyHeader SOAP fejlécet, és megköveteli, hogy az MyWebMethod XML Web Service metódushoz intézett hívásokkal együtt küldje el. Emellett MyWebMethod a SOAP fejlécen kívül MyHeader minden SOAP-fejlécet is megkap.

<%@ 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

Megjegyzések

A SOAP-fejlécek olyan módszert kínálnak az adatok XML-webszolgáltatás-metódusba való továbbítására, ha az adatok nem kapcsolódnak közvetlenül az XML-webszolgáltatás-metódus elsődleges funkcióihoz. Egy XML-webszolgáltatás például számos OLYAN XML-webszolgáltatás-metódust tartalmazhat, amelyek mindegyike egyéni hitelesítési sémát igényel. Ahelyett, hogy paramétereket ad az egyéni hitelesítési séma minden XML-webszolgáltatás-metódusához, az SoapHeaderAttributeegyes XML-webszolgáltatás-metódusokra egy , az abból származó SoapHeaderosztályra hivatkozó parancs alkalmazható. Az osztály implementációja az egyéni hitelesítési sémát SoapHeader kezeli. Ily módon az XML Web service metódus csak az adott funkciót implementálja, és egy SOAP-fejléc használatával további funkciókat ad hozzá.

Az alábbi lista a SOAP-fejlécek fogadásának és feldolgozásának alapvető lépéseit ismerteti:

  1. Hozzon létre egy osztályt, amely a SOAP fejlécbe továbbított adatokból származik SoapHeader .

  2. Adjon hozzá egy tagot az első lépésben létrehozott XML-webszolgáltatást vagy XML webszolgáltatás-ügyfélproxy-osztályt implementáló osztályhoz.

  3. SoapHeaderAttribute Alkalmazza az XML webszolgáltatás metódusára vagy a proxyosztály megfelelő metódusára, és adja meg a tulajdonság második lépésében MemberName létrehozott tagot.

  4. Az XML Web Service metóduson vagy az XML Web Service ügyfélkódon belül lépjen a MemberName tulajdonsághoz a SOAP fejlécben küldött adatok feldolgozásához.

Konstruktorok

Név Description
SoapHeader()

Inicializálja a SoapHeader osztály új példányát.

Tulajdonságok

Név Description
Actor

Lekéri vagy beállítja a SOAP fejléc címzettjének nevét.

DidUnderstand

Lekéri vagy beállít egy értéket, amely jelzi, hogy egy XML-webszolgáltatás-metódus megfelelően feldolgozott-e SOAP-fejlécet.

EncodedMustUnderstand

A SOAP-protokoll 1.1-es verziójával folytatott kommunikáció során lekéri vagy beállítja a SOAP-fejléc XML-attribútumának értékét mustUnderstand .

EncodedMustUnderstand12

Lekéri vagy beállítja a mustUnderstand SOAP-fejléc XML-attribútumának értékét a SOAP protokoll 1.2-es verziójával való kommunikáció során.

EncodedRelay

Lekéri vagy beállítja a SOAP 1.2 fejléc relay attribútumát.

MustUnderstand

Lekéri vagy beállít egy értéket, amely jelzi, hogy az SoapHeader értéket meg kell-e érteni.

Relay

Lekéri vagy beállít egy értéket, amely jelzi, hogy a SOAP-fejlécet a következő SOAP-csomópontra kell-e továbbítani, ha az aktuális csomópont nem érti a fejlécet.

Role

Lekéri vagy beállítja a SOAP fejléc címzettjének nevét.

Metódusok

Név Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még