SoapMessage クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class SoapMessage Implements ISoapMessage

SoapMessage がシリアル化グラフのルート オブジェクトの場合は、SOAP が RPC (リモート プロシージャ コール) 形式で生成され、メソッド呼び出しのパラメータの種類を指定するために SoapMessage オブジェクトが使用されます。逆シリアル化時に、SoapFormatter.TopObject プロパティに、このオブジェクトを設定できます。

System.Runtime.Serialization.Formatters.SoapMessage


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SoapMessage クラス
アセンブリ: System.Web.Services (system.web.services.dll 内)


SoapMessage クラスは主に SOAP 拡張機能で使用し、SOAP 要求または SOAP 応答のデータを表します。ProcessMessage メソッドを呼び出すと、それぞれの SoapMessageStage で SoapExtension が SoapMessage を受け取ります。SoapMessage の処理方法の選択は、特定の SOAP 拡張機能によって行われます。共通の SOAP 拡張機能には、暗号化と圧縮の機能があります。
SOAP 拡張機能は、ASP.NET で作成された XML Web サービス メソッド、XML Web サービス クライアントのいずれか、または両方に適用できます。SOAP 拡張機能を XML Web サービス メソッドに適用すると、ProcessMessage メソッドは、SoapMessage から派生する SoapServerMessage のインスタンスを受け取ります。同様に、SOAP 拡張機能を XML Web サービス クライアントに適用すると、ProcessMessage が SoapClientMessage のインスタンスを受け取ります。

' Process the SOAP message received and write to log file. Public Overrides Sub ProcessMessage(message As SoapMessage) Select Case message.Stage Case SoapMessageStage.BeforeSerialize WriteOutputBeforeSerialize(message) Case SoapMessageStage.AfterSerialize WriteOutputAfterSerialize(message) Case SoapMessageStage.BeforeDeserialize WriteInputBeforeDeserialize(message) Case SoapMessageStage.AfterDeserialize WriteInputAfterDeserialize(message) Case Else Throw New Exception("invalid stage") End Select End Sub 'ProcessMessage ' Write the contents of the outgoing SOAP message to the log file. Public Sub WriteOutputBeforeSerialize(message As SoapMessage) Dim myFileStream As New FileStream( _ filename, FileMode.Append, FileAccess.Write) Dim myStreamWriter As New StreamWriter(myFileStream) myStreamWriter.WriteLine( _ "================================== Request at " & _ DateTime.Now) myStreamWriter.WriteLine("The method that has been invoked is: ") myStreamWriter.WriteLine(ControlChars.Tab & message.MethodInfo.ToString()) myStreamWriter.WriteLine("The contents of the SOAPAction HTTP header is:") myStreamWriter.WriteLine(ControlChars.Tab & message.Action) myStreamWriter.WriteLine("The contents of HTTP Content-type header is:") myStreamWriter.WriteLine(ControlChars.Tab & message.ContentType) If message.OneWay Then myStreamWriter.WriteLine( _ "The method invoked on the client shall not wait" & _ " till the server finishes") Else myStreamWriter.WriteLine( _ "The method invoked on the client shall wait" & _ " till the server finishes") End If myStreamWriter.WriteLine( _ "The site where the XML Web service is available is: ") myStreamWriter.WriteLine(ControlChars.Tab & message.Url) myStreamWriter.WriteLine("The values of the in parameters are:") myStreamWriter.WriteLine("Value of first in parameter: {0}", _ message.GetInParameterValue(0)) myStreamWriter.WriteLine("Value of second in parameter: {0}", _ message.GetInParameterValue(1)) myStreamWriter.WriteLine() myStreamWriter.Flush() myStreamWriter.Close() myFileStream.Close() End Sub 'WriteOutputBeforeSerialize ' Write the contents of the incoming SOAP message to the log file. Public Sub WriteInputAfterDeserialize(message As SoapMessage) Dim myFileStream As _ New FileStream(filename, FileMode.Append, FileAccess.Write) Dim myStreamWriter As New StreamWriter(myFileStream) myStreamWriter.WriteLine() myStreamWriter.WriteLine("The values of the out parameter are:") myStreamWriter.WriteLine("The value of the out parameter is: {0}", _ message.GetOutParameterValue(0)) myStreamWriter.WriteLine("The values of the return parameter are:") myStreamWriter.WriteLine("The value of the return parameter is: {0}", _ message.GetReturnValue()) myStreamWriter.Flush() myStreamWriter.Close() myFileStream.Close() End Sub 'WriteInputAfterDeserialize
// Process the SOAP message received and write to log file. public override void ProcessMessage(SoapMessage message) { switch (message.Stage) { case SoapMessageStage.BeforeSerialize: WriteOutputBeforeSerialize(message); break; case SoapMessageStage.AfterSerialize: WriteOutputAfterSerialize(message); break; case SoapMessageStage.BeforeDeserialize: WriteInputBeforeDeserialize(message); break; case SoapMessageStage.AfterDeserialize: WriteInputAfterDeserialize(message); break; default: throw new Exception("invalid stage"); } } // Write the contents of the outgoing SOAP message to the log file. public void WriteOutputBeforeSerialize(SoapMessage message) { FileStream myFileStream = new FileStream(filename, FileMode.Append, FileAccess.Write); StreamWriter myStreamWriter = new StreamWriter(myFileStream); myStreamWriter.WriteLine("================================== Request at " + DateTime.Now); myStreamWriter.WriteLine("The method that has been invoked is: "); myStreamWriter.WriteLine("\t" + message.MethodInfo); myStreamWriter.WriteLine( "The contents of the SOAPAction HTTP header is:"); myStreamWriter.WriteLine("\t" + message.Action); myStreamWriter.WriteLine("The contents of HTTP Content-type header is:"); myStreamWriter.WriteLine("\t" + message.ContentType); if(message.OneWay) myStreamWriter.WriteLine( "The method invoked on the client shall not wait" + " till the server finishes"); else myStreamWriter.WriteLine( "The method invoked on the client shall wait" + " till the server finishes"); myStreamWriter.WriteLine( "The site where the XML Web service is available is:"); myStreamWriter.WriteLine("\t" + message.Url); myStreamWriter.WriteLine("The values of the in parameters are:"); myStreamWriter.WriteLine("Value of first in parameter: {0}", message.GetInParameterValue(0)); myStreamWriter.WriteLine("Value of second in parameter: {0}", message.GetInParameterValue(1)); myStreamWriter.WriteLine(); myStreamWriter.Flush(); myStreamWriter.Close(); myFileStream.Close(); } // Write the contents of the incoming SOAP message to the log file. public void WriteInputAfterDeserialize(SoapMessage message) { FileStream myFileStream = new FileStream(filename, FileMode.Append, FileAccess.Write); StreamWriter myStreamWriter = new StreamWriter(myFileStream); myStreamWriter.WriteLine(); myStreamWriter.WriteLine("The values of the out parameter are:"); myStreamWriter.WriteLine("The value of the out parameter is: {0}", message.GetOutParameterValue(0)); myStreamWriter.WriteLine("The values of the return parameter are:"); myStreamWriter.WriteLine("The value of the return parameter is: {0}", message.GetReturnValue()); myStreamWriter.Flush(); myStreamWriter.Close(); myFileStream.Close(); }
// Process the SOAP message received and write to log file. virtual void ProcessMessage( SoapMessage^ message ) override { switch ( message->Stage ) { case SoapMessageStage::BeforeSerialize: WriteOutputBeforeSerialize( message ); break; case SoapMessageStage::AfterSerialize: WriteOutputAfterSerialize( message ); break; case SoapMessageStage::BeforeDeserialize: WriteInputBeforeDeserialize( message ); break; case SoapMessageStage::AfterDeserialize: WriteInputAfterDeserialize( message ); break; default: throw gcnew Exception( "invalid stage" ); } } // Write the contents of the outgoing SOAP message to the log file. void WriteOutputBeforeSerialize( SoapMessage^ message ) { FileStream^ myFileStream = gcnew FileStream( filename, FileMode::Append, FileAccess::Write ); StreamWriter^ myStreamWriter = gcnew StreamWriter( myFileStream ); myStreamWriter->WriteLine( "================================== Request at {0}", DateTime::Now ); myStreamWriter->WriteLine( "The method that has been invoked is: " ); myStreamWriter->WriteLine( "\t{0}", message->MethodInfo ); myStreamWriter->WriteLine( "The contents of the SOAPAction HTTP header is:" ); myStreamWriter->WriteLine( "\t{0}", message->Action ); myStreamWriter->WriteLine( "The contents of HTTP Content-type header is:" ); myStreamWriter->WriteLine( "\t{0}", message->ContentType ); if ( message->OneWay ) { myStreamWriter->WriteLine( "The method invoked on the client shall not wait" + " till the server finishes" ); } else { myStreamWriter->WriteLine( "The method invoked on the client shall wait" + " till the server finishes" ); } myStreamWriter->WriteLine( "The site where the XML Web service is available is:" ); myStreamWriter->WriteLine( "\t{0}", message->Url ); myStreamWriter->WriteLine( "The values of the in parameters are:" ); myStreamWriter->WriteLine( "Value of first in parameter: {0}", message->GetInParameterValue( 0 ) ); myStreamWriter->WriteLine( "Value of second in parameter: {0}", message->GetInParameterValue( 1 ) ); myStreamWriter->WriteLine(); myStreamWriter->Flush(); myStreamWriter->Close(); myFileStream->Close(); } // Write the contents of the incoming SOAP message to the log file. void WriteInputAfterDeserialize( SoapMessage^ message ) { FileStream^ myFileStream = gcnew FileStream( filename, FileMode::Append, FileAccess::Write ); StreamWriter^ myStreamWriter = gcnew StreamWriter( myFileStream ); myStreamWriter->WriteLine(); myStreamWriter->WriteLine( "The values of the out parameter are:" ); myStreamWriter->WriteLine( "The value of the out parameter is: {0}", message->GetOutParameterValue( 0 ) ); myStreamWriter->WriteLine( "The values of the return parameter are:" ); myStreamWriter->WriteLine( "The value of the return parameter is: {0}", message->GetReturnValue() ); myStreamWriter->Flush(); myStreamWriter->Close(); myFileStream->Close(); }
// Process the SOAP message received and write to log file. public void ProcessMessage(SoapMessage message) throws Exception { switch (message.get_Stage()) { case SoapMessageStage.BeforeSerialize: WriteOutputBeforeSerialize(message); break; case SoapMessageStage.AfterSerialize: WriteOutputAfterSerialize(message); break; case SoapMessageStage.BeforeDeserialize: WriteInputBeforeDeserialize(message); break; case SoapMessageStage.AfterDeserialize: WriteInputAfterDeserialize(message); break; default: throw new Exception("invalid stage"); } } //ProcessMessage // Write the contents of the outgoing SOAP message to the log file. public void WriteOutputBeforeSerialize(SoapMessage message) { FileStream myFileStream = new FileStream(fileName, FileMode.Append, FileAccess.Write); StreamWriter myStreamWriter = new StreamWriter(myFileStream); myStreamWriter.WriteLine("================================== " + "Request at " + DateTime.get_Now()); myStreamWriter.WriteLine("The method that has been invoked is: "); myStreamWriter.WriteLine("\t" + message.get_MethodInfo()); myStreamWriter.WriteLine("The contents of the SOAPAction HTTP " + "header is:"); myStreamWriter.WriteLine("\t" + message.get_Action()); myStreamWriter.WriteLine("The contents of HTTP Content-type " + "header is:"); myStreamWriter.WriteLine("\t" + message.get_ContentType()); if (message.get_OneWay()) { myStreamWriter.WriteLine("The method invoked on the client " + "shall not wait till the server finishes"); } else { myStreamWriter.WriteLine("The method invoked on the client " + "shall wait till the server finishes"); } myStreamWriter.WriteLine("The site where the XML Web service is " + "available is:"); myStreamWriter.WriteLine("\t" + message.get_Url()); myStreamWriter.WriteLine("The values of the in parameters are:"); myStreamWriter.WriteLine("Value of first in parameter: {0}", message. GetInParameterValue(0)); myStreamWriter.WriteLine("Value of second in parameter: {0}", message. GetInParameterValue(1)); myStreamWriter.WriteLine(); myStreamWriter.Flush(); myStreamWriter.Close(); myFileStream.Close(); } //WriteOutputBeforeSerialize // Write the contents of the incoming SOAP message to the log file. public void WriteInputAfterDeserialize(SoapMessage message) { FileStream myFileStream = new FileStream(fileName, FileMode.Append, FileAccess.Write); StreamWriter myStreamWriter = new StreamWriter(myFileStream); myStreamWriter.WriteLine(); myStreamWriter.WriteLine("The values of the out parameter are:"); myStreamWriter.WriteLine("The value of the out parameter is: {0}", message.GetOutParameterValue(0)); myStreamWriter.WriteLine("The values of the return parameter are:"); myStreamWriter.WriteLine("The value of the return parameter is: {0}", message.GetReturnValue()); myStreamWriter.Flush(); myStreamWriter.Close(); myFileStream.Close(); } //WriteInputAfterDeserialize

System.Web.Services.Protocols.SoapMessage
System.Web.Services.Protocols.SoapClientMessage
System.Web.Services.Protocols.SoapServerMessage


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SoapMessage コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SoapMessage プロパティ

名前 | 説明 | |
---|---|---|
![]() | Headers | 呼び出されたメソッドの帯域外データを取得または設定します。 |
![]() | MethodName | 呼び出されたメソッドの名前を取得または設定します。 |
![]() | ParamNames | 呼び出されたメソッドのパラメータの名前を取得または設定します。 |
![]() | ParamTypes | このプロパティは予約済みです。代わりに、ParamNames プロパティおよび ParamValues プロパティの両方、またはそのいずれかを使用してください。 |
![]() | ParamValues | 呼び出されたメソッドのパラメータの値を取得または設定します。 |
![]() | XmlNameSpace | 呼び出されたメソッドを格納しているオブジェクトが位置する XML 名前空間の名前を取得または設定します。 |

SoapMessage プロパティ
SoapMessage メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

SoapMessage メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetInParameterValue | 指定されたインデックスで XML Web サービス メソッドに渡すパラメータを取得します。 |
![]() | GetOutParameterValue | 指定したインデックスで XML Web サービス メソッドに渡す out パラメータを取得します。 |
![]() | GetReturnValue | XML Web サービス メソッドの戻り値を取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | EnsureInStage | 派生クラスでオーバーライドされると、現在の SoapMessageStage は、in パラメータが使用できる段階であることをアサートします。 |
![]() | EnsureOutStage | 派生クラスでオーバーライドされると、現在の SoapMessageStage 段階は out パラメータが使用できる段階であることをアサートします。 |
![]() | EnsureStage | XML Web サービス メソッドの呼び出しの SoapMessageStage が渡された単数または複数の段階であることを確認します。現在の処理段階が、渡された段階の 1 つではない場合は、例外がスローされます。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

SoapMessage メンバ
SOAP リモート プロシージャ コール (RPC: Remote Procedure Cal) のシリアル化時に必要とされるパラメータの名前および種類を格納します。
SoapMessage データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Headers | 呼び出されたメソッドの帯域外データを取得または設定します。 |
![]() | MethodName | 呼び出されたメソッドの名前を取得または設定します。 |
![]() | ParamNames | 呼び出されたメソッドのパラメータの名前を取得または設定します。 |
![]() | ParamTypes | このプロパティは予約済みです。代わりに、ParamNames プロパティおよび ParamValues プロパティの両方、またはそのいずれかを使用してください。 |
![]() | ParamValues | 呼び出されたメソッドのパラメータの値を取得または設定します。 |
![]() | XmlNameSpace | 呼び出されたメソッドを格納しているオブジェクトが位置する XML 名前空間の名前を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

SoapMessage メンバ
特定の SoapMessageStage の SOAP 要求または SOAP 応答のデータを表します。
SoapMessage データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetInParameterValue | 指定されたインデックスで XML Web サービス メソッドに渡すパラメータを取得します。 |
![]() | GetOutParameterValue | 指定したインデックスで XML Web サービス メソッドに渡す out パラメータを取得します。 |
![]() | GetReturnValue | XML Web サービス メソッドの戻り値を取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | EnsureInStage | 派生クラスでオーバーライドされると、現在の SoapMessageStage は、in パラメータが使用できる段階であることをアサートします。 |
![]() | EnsureOutStage | 派生クラスでオーバーライドされると、現在の SoapMessageStage 段階は out パラメータが使用できる段階であることをアサートします。 |
![]() | EnsureStage | XML Web サービス メソッドの呼び出しの SoapMessageStage が渡された単数または複数の段階であることを確認します。現在の処理段階が、渡された段階の 1 つではない場合は、例外がスローされます。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- SoapMessageのページへのリンク