SoapUnknownHeader クラス
SOAP ヘッダーから受信したデータのうち、受信側の XML Web サービスまたは XML Web サービス クライアントが認識できなかったデータを表します。このクラスは継承できません。
この型のすべてのメンバの一覧については、SoapUnknownHeader メンバ を参照してください。
System.Object
System.Web.Services.Protocols.SoapHeader
System.Web.Services.Protocols.SoapUnknownHeader
NotInheritable Public Class SoapUnknownHeader
Inherits SoapHeader
[C#]
public sealed class SoapUnknownHeader : SoapHeader
[C++]
public __gc __sealed class SoapUnknownHeader : public SoapHeader
[JScript]
public class SoapUnknownHeader extends SoapHeader
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
SOAP クライアントは、SOAP ヘッダーの形式の必須パラメータに加えられた追加データを使用して、XML Web サービスを呼び出すことがあります。ASP.NET で作成された XML Web サービスまたは XML Web サービス クライアントは、 SoapHeader 、 SoapHeader 、 SoapUnknownHeader の配列、または SoapUnknownHeader の配列の MemberName プロパティを使用して SoapHeaderAttribute を XML Web サービス メソッドに適用することにより、XML Web サービスの作成時には把握していなかった任意の SOAP ヘッダーを参照できます。 SoapUnknownHeader の Type を指定すると、XML Web サービスは XmlElement の形式で SOAP ヘッダーの内容を表示できます。
使用例
[Visual Basic, C#] MyWebService
XML Web サービスでは、 MyWebMethod
XML Web サービス メソッドの呼び出しと共に送信される MyHeader
SOAP ヘッダーを受け付け、処理します。また、 MyWebMethod
が MyHeader
SOAP ヘッダー以外のすべての SOAP ヘッダーを受信します。
<%@ 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
[C#]
<%@ 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;
}
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Web.Services.Protocols
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System.Web.Services (System.Web.Services.dll 内)
参照
SoapUnknownHeader メンバ | System.Web.Services.Protocols 名前空間 | SoapHeaderAttribute | SoapHeader