SoapClientMessageとは? わかりやすく解説

SoapClientMessage クラス

特定の SoapMessageStage で XML Web サービス クライアントが送信した SOAP 要求または受信した SOAP 応答のデータを表します。このクラスは継承できません。

名前空間: System.Web.Services.Protocols
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文構文

Public NotInheritable Class
 SoapClientMessage
    Inherits SoapMessage
Dim instance As SoapClientMessage
public sealed class SoapClientMessage : SoapMessage
public ref class SoapClientMessage sealed :
 public SoapMessage
public final class SoapClientMessage extends
 SoapMessage
public final class SoapClientMessage extends
 SoapMessage
使用例使用例

次のコード片は、XML Web サービス クライアントによって送受信された SOAP メッセージを記録する SOAP 拡張機能の一部です。この特定のフラグメントは、SoapClientMessage のプロパティをログ ファイルに書き込むことにより、SOAP 拡張機能の SoapExtension.ProcessMessage メソッドに渡される SoapClientMessage を処理します。

 ' Process the SOAP message received and write to a log file.
 Public Overrides Sub ProcessMessage(message
 As SoapMessage)
    Select Case message.Stage
       Case SoapMessageStage.BeforeSerialize
       Case SoapMessageStage.AfterSerialize
          WriteOutput(CType(message, SoapClientMessage))
       Case SoapMessageStage.BeforeDeserialize
          WriteInput(CType(message, SoapClientMessage))
       Case SoapMessageStage.AfterDeserialize
       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 WriteOutput(message As
 SoapClientMessage)
    newStream.Position = 0
    Dim myFileStream As New
 FileStream(filename, FileMode.Append, _
       FileAccess.Write)
    Dim myStreamWriter As New
 StreamWriter(myFileStream)
    myStreamWriter.WriteLine( _
       "================================== Request at "
 & DateTime.Now)

    ' Print to the log file the request header field for SoapAction
 header.
    myStreamWriter.WriteLine("The SoapAction Http request header
 field is: ")
    myStreamWriter.WriteLine(ControlChars.Tab & message.Action)

    ' Print to the log file the type of the client that invoked
    ' the XML Web service method.
    myStreamWriter.WriteLine("The type of the client is: ")
    If message.Client.GetType().Equals(GetType(MathSvc))
 Then
       myStreamWriter.WriteLine(ControlChars.Tab & "MathSvc")
    End If

   ' Print to the log file the method invoked by the client.
    myStreamWriter.WriteLine( _
       "The method that has been invoked by the client is:")
    myStreamWriter.WriteLine(ControlChars.Tab & message.MethodInfo.Name)

    ' Print to the log file if the method invoked is OneWay.
    If message.OneWay Then
       myStreamWriter.WriteLine( _
          "The client doesn't wait for the server to finish processing")
    Else
       myStreamWriter.WriteLine( _
          "The client waits for the server to finish processing")
    End If 

    ' Print to the log file the URL of the site that provides 
    ' implementation of the method.
    myStreamWriter.WriteLine( _
       "The url of the XML Web service method that has been requested
 is: ")
    myStreamWriter.WriteLine(ControlChars.Tab & message.Url)
    myStreamWriter.WriteLine("The contents of the SOAP envelope
 are: ")
    myStreamWriter.Flush()

    ' Copy the contents of one stream to another. 
    Copy(newStream, myFileStream)
    myStreamWriter.Close()
    myFileStream.Close()
    newStream.Position = 0

    ' Copy the contents of one stream to another. 
    Copy(newStream, oldStream)
End Sub 'WriteOutput
// Process the SOAP message received and write to a log file.
public override void ProcessMessage(SoapMessage
 message) 
{
   switch (message.Stage) 
   {
      case SoapMessageStage.BeforeSerialize:
         break;
      case SoapMessageStage.AfterSerialize:
         WriteOutput((SoapClientMessage)message);
         break;
      case SoapMessageStage.BeforeDeserialize:
         WriteInput((SoapClientMessage)message);
         break;
      case SoapMessageStage.AfterDeserialize:
         break;
      default:
         throw new Exception("invalid stage");
   }
}

// Write the contents of the outgoing SOAP message to the log file.
public void WriteOutput(SoapClientMessage message)
{
   newStream.Position = 0;
   FileStream myFileStream = new FileStream(filename, FileMode.Append
,
      FileAccess.Write);
   StreamWriter myStreamWriter = new StreamWriter(myFileStream);
   myStreamWriter.WriteLine(
      "================================== Request at "
      + DateTime.Now);

   // Print to the log file the request header field for SoapAction
 header.
   myStreamWriter.WriteLine("The SoapAction Http request header field is: ");
   myStreamWriter.WriteLine("\t" + message.Action);

   // Print to the log file the type of the client that invoked 
   // the XML Web service method.
   myStreamWriter.WriteLine("The type of the client is: ");
   if((message.Client.GetType()).Equals(typeof(MathSvc)))
      myStreamWriter.WriteLine("\tMathSvc");

   // Print to the log file the method invoked by the client.
   myStreamWriter.WriteLine(
      "The method that has been invoked by the client is:");
   myStreamWriter.WriteLine("\t" + message.MethodInfo.Name);

   // Print to the log file if the method invoked is OneWay.
   if(message.OneWay)
      myStreamWriter.WriteLine(
        "The client doesn't wait for the server to finish
 processing");
   else
      myStreamWriter.WriteLine(
        "The client waits for the server to finish processing");

   // Print to the log file the URL of the site that provides 
   // implementation of the method.
   myStreamWriter.WriteLine(
      "The URL of the XML Web service method that has been requested is: ");
   myStreamWriter.WriteLine("\t" + message.Url);
   myStreamWriter.WriteLine("The contents of the SOAP envelope are: ");
   myStreamWriter.Flush();

   // Copy the contents of one stream to another. 
   Copy(newStream, myFileStream);
   myFileStream.Close();
   newStream.Position = 0;

   // Copy the contents of one stream to another. 
   Copy(newStream, oldStream);
}
// Process the SOAP message received and write to a log file.
void ProcessMessage( SoapMessage^ message )
{
   switch ( message->Stage )
   {
      case SoapMessageStage::BeforeSerialize:
         break;
      case SoapMessageStage::AfterSerialize:
         WriteOutput( dynamic_cast<SoapClientMessage^>(message) );
         break;
      case SoapMessageStage::BeforeDeserialize:
         WriteInput( dynamic_cast<SoapClientMessage^>(message) );
         break;
      case SoapMessageStage::AfterDeserialize:
         break;
      default:
         throw gcnew Exception( "invalid stage" );
   }
}

// Write the contents of the outgoing SOAP message to the log file.
void WriteOutput( SoapClientMessage^ message )
{
   newStream->Position = 0;
   FileStream^ myFileStream = gcnew FileStream( filename, FileMode::Append,
      FileAccess::Write );
   StreamWriter^ myStreamWriter = gcnew StreamWriter( myFileStream );
   myStreamWriter->WriteLine(
      "================================== Request at {0}", DateTime::Now
 );
   
   // Print to the log file the request header field for SoapAction
 header.
   myStreamWriter->WriteLine( "The SoapAction Http request header field is:
 " );
   myStreamWriter->WriteLine( "\t{0}", message->Action );
   
   // Print to the log file the type of the client that invoked 
   // the XML Web service method.
   myStreamWriter->WriteLine( "The type of the client is: " );
   if ( (message->Client->GetType())->Equals( typeid<MathSvc^>
 ) )
   {
      myStreamWriter->WriteLine( "\tMathSvc" );
   }
   
   // Print to the log file the method invoked by the client.
   myStreamWriter->WriteLine(
      "The method that has been invoked by the client is:" );
   myStreamWriter->WriteLine( "\t{0}", message->MethodInfo->Name
 );
   
   // Print to the log file if the method invoked is OneWay.
   if ( message->OneWay )
   {
      myStreamWriter->WriteLine(
         "The client doesn't wait for the server to finish
 processing" );
   }
   else
   {
      myStreamWriter->WriteLine(
      "The client waits for the server to finish processing"
 );
   }
   
   // Print to the log file the URL of the site that provides 
   // implementation of the method.
   myStreamWriter->WriteLine(
      "The URL of the XML Web service method that has been requested is: "
 );
   myStreamWriter->WriteLine( "\t{0}", message->Url );
   myStreamWriter->WriteLine( "The contents of the SOAP envelope are: "
 );
   myStreamWriter->Flush();
   
   // Copy the contents of one stream to another. 
   Copy( newStream, myFileStream );
   myFileStream->Close();
   newStream->Position = 0;
   
   // Copy the contents of one stream to another. 
   Copy( newStream, oldStream );
}
// Process the SOAP message received and write to a log file.
public void ProcessMessage(SoapMessage message)
 throws Exception
{
    switch (message.get_Stage()) {
        case SoapMessageStage.BeforeSerialize:
            break;

        case SoapMessageStage.AfterSerialize:
            WriteOutput((SoapClientMessage)message);
            break;

        case SoapMessageStage.BeforeDeserialize:
            WriteInput((SoapClientMessage)message);
            break;

        case SoapMessageStage.AfterDeserialize:
            break;

        default:
            throw new Exception("invalid stage");
    }
} //ProcessMessage

// Write the contents of the outgoing SOAP message to the log file.
public void WriteOutput(SoapClientMessage message)
{
    newStream.set_Position(0);
    FileStream myFileStream = new FileStream(fileName, FileMode.Append,
 
        FileAccess.Write);
    StreamWriter myStreamWriter = new StreamWriter(myFileStream);
    myStreamWriter.WriteLine("================================== "
        + "Request at " + DateTime.get_Now());
    // Print to the log file the request header field for SoapAction
 header.
    myStreamWriter.WriteLine("The SoapAction Http request "
        + "header field is: ");
    myStreamWriter.WriteLine("\t" + message.get_Action());
    // Print to the log file the type of the client that invoked 
    // the XML Web service method.
    myStreamWriter.WriteLine("The type of the client is: ");
    if (message.get_Client().GetType().Equals(MathSvc.class.ToType()))
 {
        myStreamWriter.WriteLine("\tMathSvc");
    }
    // Print to the log file the method invoked by the client.
    myStreamWriter.WriteLine("The method that has been invoked by "
        + "the client is:");
    myStreamWriter.WriteLine("\t" + message.get_MethodInfo().get_Name());
    // Print to the log file if the method invoked is OneWay.
    if (message.get_OneWay()) {
        myStreamWriter.WriteLine("The client doesn't wait for
 the server "
            + "to finish processing");
    }
    else {
        myStreamWriter.WriteLine("The client waits for the
 server "
            + "to finish processing");
    }
    // Print to the log file the URL of the site that provides 
    // implementation of the method.
    myStreamWriter.WriteLine("The URL of the XML Web service method that "
        + "has been requested is: ");
    myStreamWriter.WriteLine("\t" + message.get_Url());
    myStreamWriter.WriteLine("The contents of the SOAP envelope are: ");
    myStreamWriter.Flush();
    // Copy the contents of one stream to another. 
    Copy(newStream, myFileStream);
    myFileStream.Close();
    newStream.set_Position(0);
    // Copy the contents of one stream to another. 
    Copy(newStream, oldStream);
} //WriteOutput
継承階層継承階層
System.Object
   System.Web.Services.Protocols.SoapMessage
    System.Web.Services.Protocols.SoapClientMessage
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SoapClientMessage メンバ
System.Web.Services.Protocols 名前空間

SoapClientMessage プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ Action オーバーライドされます。 SOAP 要求または SOAP 応答の SOAPAction HTTP 要求ヘッダー フィールドを取得します。
パブリック プロパティ ContentEncoding  Content-Encoding HTTP ヘッダーの内容を取得または設定します。 ( SoapMessage から継承されます。)
パブリック プロパティ ContentType  SOAP 要求または SOAP 応答の HTTP Content-Type を取得または設定します。 ( SoapMessage から継承されます。)
パブリック プロパティ Exception  XML Web サービス メソッドの呼び出しから SoapException を取得します。 ( SoapMessage から継承されます。)
パブリック プロパティ Headers  現在の SOAP 要求または SOAP 応答に適用される SOAP ヘッダーのコレクション。 ( SoapMessage から継承されます。)
パブリック プロパティ MethodInfo オーバーライドされます。 SOAP 要求の対象となる XML Web サービス メソッドのメソッド プロトタイプの表示を取得します。
パブリック プロパティ OneWay オーバーライドされます。 サーバーによる XML Web サービス メソッドの処理が完了するまでクライアントが待機するかどうかを示す値を取得します。
パブリック プロパティ SoapVersion オーバーライドされます。 XML Web サービスとの通信に使用する SOAP プロトコルのバージョンを取得します。
パブリック プロパティ Stage  SoapMessage の SoapMessageStage を取得します。 ( SoapMessage から継承されます。)
パブリック プロパティ Stream  Stream の形式で SOAP 要求または SOAP 応答を表しているデータを取得します。 ( SoapMessage から継承されます。)
パブリック プロパティ Url オーバーライドされます。 XML Web サービスの URL を取得します。
参照参照

関連項目

SoapClientMessage クラス
System.Web.Services.Protocols 名前空間

SoapClientMessage メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SoapClientMessage クラス
System.Web.Services.Protocols 名前空間

SoapClientMessage メンバ

特定の SoapMessageStage で XML Web サービス クライアントが送信した SOAP 要求または受信した SOAP 応答のデータを表します。このクラスは継承できません。

SoapClientMessage データ型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Action オーバーライドされます。 SOAP 要求または SOAP 応答の SOAPAction HTTP 要求ヘッダー フィールドを取得します。
パブリック プロパティ ContentEncoding  Content-Encoding HTTP ヘッダーの内容を取得または設定します。(SoapMessage から継承されます。)
パブリック プロパティ ContentType  SOAP 要求または SOAP 応答の HTTP Content-Type を取得または設定します。(SoapMessage から継承されます。)
パブリック プロパティ Exception  XML Web サービス メソッドの呼び出しから SoapException を取得します。(SoapMessage から継承されます。)
パブリック プロパティ Headers  現在の SOAP 要求または SOAP 応答に適用される SOAP ヘッダーのコレクション。(SoapMessage から継承されます。)
パブリック プロパティ MethodInfo オーバーライドされます。 SOAP 要求の対象となる XML Web サービス メソッドのメソッド プロトタイプの表示を取得します。
パブリック プロパティ OneWay オーバーライドされます。 サーバーによる XML Web サービス メソッドの処理が完了するまでクライアントが待機するかどうかを示す値を取得します。
パブリック プロパティ SoapVersion オーバーライドされます。 XML Web サービスとの通信に使用する SOAP プロトコルのバージョンを取得します。
パブリック プロパティ Stage  SoapMessage の SoapMessageStage を取得します。(SoapMessage から継承されます。)
パブリック プロパティ Stream  Stream の形式で SOAP 要求または SOAP 応答を表しているデータを取得します。(SoapMessage から継承されます。)
パブリック プロパティ Url オーバーライドされます。 XML Web サービスの URL を取得します。
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SoapClientMessage クラス
System.Web.Services.Protocols 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SoapClientMessage」の関連用語

SoapClientMessageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SoapClientMessageのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS