SoapHeader Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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:
SOAP üst bilgisine geçirilen verileri temsil eden öğesinden SoapHeader türetilen bir sınıf oluşturun.
İ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.
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.
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 |
EncodedMustUnderstand12 |
SOAP protokolü sürüm 1.2 ile iletişim kurarken SOAP üst bilgisi için XML özniteliğinin değerini |
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) |