SoapHeader クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスでオーバーライドされると、SOAP ヘッダーの内容を表します。
public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
- 継承
-
SoapHeader
- 派生
例
次 MyWebService
の XML Web サービスは SOAP ヘッダーを MyHeader
定義し、XML Web サービス メソッドへの任意の MyWebMethod
呼び出しで送信する必要があります。 さらに、 MyWebMethod
SOAP ヘッダー以外のすべての SOAP ヘッダーを MyHeader
受け取ります。
<%@ 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
注釈
SOAP ヘッダーは、データが XML Web サービス メソッドの主な機能に直接関連していない場合に、XML Web サービス メソッドとの間でデータを渡すためのメソッドを提供します。 たとえば、XML Web サービスには、それぞれがカスタム認証スキームを必要とする複数の XML Web サービス メソッドが含まれている場合があります。 カスタム認証スキームの各 XML Web サービス メソッドにパラメーターを追加する代わりに、 SoapHeaderAttribute派生 SoapHeaderクラスを参照する a を各 XML Web サービス メソッドに適用できます。 派生 SoapHeader クラスの実装は、カスタム認証スキームを処理します。 このように、XML Web サービス メソッドはそれに固有の機能のみを実装し、SOAP ヘッダーを使用して追加の機能を追加します。
次の一覧は、SOAP ヘッダーを受信して処理するための基本的な手順の概要を示しています。
SOAP ヘッダーに渡されるデータを表すことから SoapHeader 派生するクラスを作成します。
最初の手順で作成した型の XML Web サービスまたは XML Web サービス クライアント プロキシ クラスを実装するクラスにメンバーを追加します。
SoapHeaderAttributeプロパティの 2 番目の手順で作成されたメンバーを指定して、XML Web サービス メソッドまたはプロキシ クラスの対応するメソッドに a をMemberName適用します。
XML Web サービス メソッドまたは XML Web サービス クライアント コード内で、プロパティに MemberName アクセスして SOAP ヘッダーで送信されたデータを処理します。
コンストラクター
SoapHeader() |
SoapHeader クラスの新しいインスタンスを初期化します。 |
プロパティ
Actor |
SOAP ヘッダーの受信者を取得または設定します。 |
DidUnderstand |
XML Web サービス メソッドで SOAP ヘッダーを適切に処理したかどうかを示す値を取得または設定します。 |
EncodedMustUnderstand |
SOAP Version 1.1 のプロトコルと通信するときに SOAP ヘッダーの |
EncodedMustUnderstand12 |
SOAP Version 1.2 のプロトコルと通信するときに SOAP ヘッダーの |
EncodedRelay |
SOAP 1.2 ヘッダーの relay 属性を取得または設定します。 |
MustUnderstand |
SoapHeader を認識する必要があるかどうかを示す値を取得または設定します。 |
Relay |
現在のノードがヘッダーを認識しない場合に、SOAP ヘッダーを次の SOAP ノードに渡すかどうかを示す値を取得または設定します。 |
Role |
SOAP ヘッダーの受信者を取得または設定します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |