SoapHeaderAttribute クラス

定義

この属性は、XML Web サービス メソッドまたは XML Web サービス クライアントに適用され、XML Web サービス メソッドまたは XML Web サービス クライアントが処理できる SOAP ヘッダーを指定します。 このクラスは継承できません。

public ref class SoapHeaderAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)]
public sealed class SoapHeaderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)>]
type SoapHeaderAttribute = class
    inherit Attribute
Public NotInheritable Class SoapHeaderAttribute
Inherits Attribute
継承
SoapHeaderAttribute
属性

MyWebService の XML Web サービスは、 型の 1 つ SoapHeader を定義します MyHeader。 XML Web サービス メソッドでは Hello 、クライアント SoapHeaderがこの を使用して XML Web サービス メソッドを呼び出す必要があります。 XML Web サービスは Hello 、 以外 MyHeaderの SOAP ヘッダーもキャッチします。

<%@ WebService Language="C#" Class="MyWebService"%>
using System.Web.Services;
using System.Web.Services.Protocols;

// Define a SOAP header by deriving from the SoapHeader base class.
// The header contains just one string value.
public class MyHeader : SoapHeader {
    public string MyValue;
}

public class MyWebService {
    // Member variable to receive the contents of the MyHeader SoapHeader.
    public MyHeader myHeader;

    // Member variable to receive all headers other than MyHeader.
    public SoapUnknownHeader[] unknownHeaders;
 
    [WebMethod]
    [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]

    // Receive any SOAP headers other than MyHeader.
    [SoapHeader("unknownHeaders")]
    public void Hello() {

       // Process the MyHeader SoapHeader.
       if (myHeader.MyValue == "Some string") {
          // Process the header.
       }
       foreach (SoapHeader header in unknownHeaders) {
           // Perform some processing on header.
           
           // For those headers that cannot be processed,
           // set the DidUnderstand property to false.
           header.DidUnderstand = false;
       }
    }
}
<%@ WebService Language="VB" Class="MyWebService"%>
Imports System.Web.Services
Imports System.Web.Services.Protocols

' Define a SOAP header by deriving from the SoapHeader base class.
' The header contains just one string value.
Public Class MyHeader
    Inherits SoapHeader
    Public MyValue As String
End Class

Public Class MyWebService
    ' Member variable to receive the contents of the MyHeader SoapHeader.
    Public myHeader As MyHeader
    
    ' Member variable to receive all headers other than MyHeader.
    Public unknownHeaders() As SoapUnknownHeader
    
    ' Receive any SOAP headers other than MyHeader.
    <WebMethod, _
        SoapHeader("myHeader", Direction := SoapHeaderDirection.InOut), _
        SoapHeader("unknownHeaders")> _
    Public Sub Hello()        
        
        ' Process the MyHeader SoapHeader.
        If myHeader.MyValue = "Some string" Then
            ' Process the header.
        End If 
        Dim header As SoapHeader
        For Each header In  unknownHeaders
            ' Perform some processing on header
            ' For those headers that cannot be processed, 
            ' set the DidUnderstand to false.
            header.DidUnderstand = False
        Next header
    End Sub
End Class

注釈

SOAP ヘッダーを受信して処理する基本的な手順は次のとおりです。

  1. SOAP ヘッダーで渡されたデータを表すことから SoapHeader 派生するクラスを作成します。

  2. 手順 1 で作成した型の XML Web サービス クラスまたは XML Web サービス クライアント プロキシ クラスにメンバーを追加します。

  3. SoapHeaderAttributeを XML Web サービス メソッドまたはプロキシ クラスの対応するメソッドに適用し、 プロパティで手順 2 で作成したメンバーをMemberName指定します。

  4. XML Web サービス メソッドまたは XML Web サービス クライアント コード内で、 プロパティに MemberName アクセスして、SOAP ヘッダーで送信されたデータを処理します。

詳細については、 プロパティを MemberName 参照してください。

コンストラクター

SoapHeaderAttribute(String)

SOAP ヘッダーの内容を表す XML Web サービス クラスのメンバーを設定して、SoapHeaderAttribute クラスの新しいインスタンスを初期化します。

プロパティ

Direction

SOAP ヘッダーの送信先が XML Web サービス、XML Web サービス クライアント、またはこれら両方かどうかを取得または設定します。

MemberName

SOAP ヘッダーの内容を表す XML Web サービス クラスのメンバーを取得または設定します。

Required
古い.

これは今後使用しないメンバーであり、機能は提供されません。

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。

(継承元 Attribute)

メソッド

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Attribute)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。

(継承元 Attribute)
Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。

(継承元 Attribute)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

(継承元 Attribute)

適用対象

こちらもご覧ください