SoapHeader クラス
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文
解説SOAP ヘッダーを使用すると、データが XML Web サービス メソッドの基本機能に直接に関連していない場合は、データを Web サービス メソッドに渡したり、Web サービス メソッドからデータを返すことができます。たとえば、XML Web サービスに、それぞれがカスタム認証方式を必要とする XML Web サービス メソッドが格納されている場合があります。この場合は、カスタム認証方式についてパラメータを各 XML Web サービス メソッドに追加する代わりに、SoapHeader の派生クラスを参照する SoapHeaderAttribute をそれぞれの XML Web サービス メソッドに適用できます。SoapHeader の派生クラスの実装により、カスタム認証方式が処理されます。この方法では、XML Web サービス メソッドはメソッド固有の機能だけを実装し、SOAP ヘッダーを使用して機能を追加します。
使用例MyWebService XML Web サービスが MyHeader SOAP ヘッダーを定義し、MyWebMethod XML Web サービス メソッドへの呼び出しと共に送信されるようにする例を次に示します。また、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 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
<%@ 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"; } }
継承階層System.Web.Services.Protocols.SoapHeader
System.Web.Services.Protocols.SoapUnknownHeader
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照SoapHeader コンストラクタ
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照SoapHeader プロパティ
SoapHeader メソッド
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
参照SoapHeader メンバ
派生クラスでオーバーライドされると、SOAP ヘッダーの内容を表します。
SoapHeader データ型で公開されるメンバを以下の表に示します。
プロテクト コンストラクタ
パブリック プロパティ
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
参照- SoapHeaderのページへのリンク