Aracılığıyla paylaş


SoapHeader Sınıf

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, SOAP üst bilgisinin içeriğini temsil eder.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Devralma
SoapHeader
Türetilmiş

Örnekler

Aşağıdaki MyWebService XML Web hizmeti SOAP üst bilgisini tanımlar MyHeader ve XML Web hizmeti yöntemine yapılan tüm çağrılarla gönderilmesini MyWebMethod gerektirir. Ayrıca, MyWebMethod SOAP üst bilgisi dışında MyHeader tüm SOAP üst bilgilerini alır.

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

Açıklamalar

SOAP üst bilgileri, veriler XML Web hizmeti yönteminin birincil işlevselliğiyle doğrudan ilgili değilse, XML Web hizmeti yöntemine veri geçirmek için bir yöntem sunar. Örneğin, bir XML Web hizmeti, her biri özel bir kimlik doğrulama şeması gerektiren çeşitli XML Web hizmeti yöntemleri içerebilir. Özel kimlik doğrulama düzeni için her XML Web hizmeti yöntemine parametre eklemek yerine, öğesinden SoapHeadertüretilen bir sınıfa başvuran bir SoapHeaderAttribute, her XML Web hizmeti yöntemine uygulanabilir. öğesinden SoapHeader türetilen sınıfın uygulaması özel kimlik doğrulama düzenini işler. Bu şekilde, XML Web hizmeti yöntemi yalnızca ona özgü işlevselliği uygular ve SOAP üst bilgisi kullanarak ek işlevler ekler.

Aşağıdaki listede SOAP üst bilgisini alma ve işlemeye yönelik temel adımlar özetlenmiştir:

  1. SOAP üst bilgisine geçirilen verileri temsil eden öğesinden SoapHeader türetilen bir sınıf oluşturun.

  2. İlk adımda oluşturulan türde bir XML Web hizmeti veya XML Web hizmeti istemci proxy sınıfı uygulayan sınıfa bir üye ekleyin.

  3. XML Web hizmeti yöntemine veya proxy sınıfında karşılık gelen yönteme bir SoapHeaderAttribute uygulayın ve özelliğindeki ikinci adımda oluşturulan üyeyi MemberName belirtin.

  4. XML Web hizmeti yöntemi veya XML Web hizmeti istemci kodu içinde, SOAP üst bilgisinde gönderilen verileri işlemek için özelliğine erişin MemberName .

Oluşturucular

SoapHeader()

SoapHeader sınıfının yeni bir örneğini başlatır.

Özellikler

Actor

SOAP üst bilgisinin alıcısını alır veya ayarlar.

DidUnderstand

XML Web hizmeti yönteminin SOAP üst bilgisini düzgün işleyip işlemediğini belirten bir değer alır veya ayarlar.

EncodedMustUnderstand

SOAP protokolü sürüm 1.1 ile iletişim kurarken SOAP üst bilgisi için XML özniteliğinin değerini mustUnderstand alır veya ayarlar.

EncodedMustUnderstand12

SOAP protokolü sürüm 1.2 ile iletişim kurarken SOAP üst bilgisi için XML özniteliğinin değerini mustUnderstand alır veya ayarlar.

EncodedRelay

SOAP 1.2 üst bilgisinin geçiş özniteliğini alır veya ayarlar.

MustUnderstand

değerinin anlaşılması gerekip gerekmediğini SoapHeader belirten bir değer alır veya ayarlar.

Relay

Geçerli düğüm üst bilgiyi anlayamazsa SOAP üst bilgisinin sonraki SOAP düğümüne aktarılıp aktarılmayacağını belirten bir değer alır veya ayarlar.

Role

SOAP üst bilgisinin alıcısını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.