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 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からSoapClientMessage クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSoapClientMessage クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSoapClientMessage クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SoapClientMessage クラス」の関連用語

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

   

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



SoapClientMessage クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS