SoapServerMessage クラスとは? わかりやすく解説

SoapServerMessage クラス

特定の SoapMessageStage で XML Web サービス メソッド受信した SOAP 要求または送信した SOAP 応答データ表します。このクラス継承できません。

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

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

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

' Process the SOAP message received and write it to a log file.
Public Overrides Sub ProcessMessage(message
 As SoapMessage)
   Select Case message.Stage
      Case SoapMessageStage.BeforeSerialize
      Case SoapMessageStage.AfterSerialize
         WriteOutput(CType(message, SoapServerMessage))
      Case SoapMessageStage.BeforeDeserialize
         WriteInputBeforeDeserialize(CType(message, SoapServerMessage))
      Case SoapMessageStage.AfterDeserialize
         WriteInputAfterDeserialize(CType(message, SoapServerMessage))
      Case Else
            Throw New Exception("invalid
 stage")
   End Select
End Sub 'ProcessMessage


' Write the contents of the incoming SOAP message to the log file.
Public Sub WriteInputAfterDeserialize(message
 As SoapServerMessage)
   Dim myFileStream As New
 FileStream(filename, FileMode.Append, FileAccess.Write)
   Dim myStreamWriter As New
 StreamWriter(myFileStream)
   
   ' 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 XML Web service.
   myStreamWriter.WriteLine("The type of the XML Web service is:
 ")
   If message.Server.GetType().Equals(GetType(MathSvc))
 Then
      myStreamWriter.WriteLine(ControlChars.Tab + "MathSvc")
   End If
   
   ' Print to the log file the name of the XML Web service method.
   myStreamWriter.WriteLine("The name of the XML Web service method
 requested:")
   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 XML Web service method.
   myStreamWriter.WriteLine( _
      "The url of the XML Web service method requested: ")
   myStreamWriter.WriteLine((ControlChars.Tab + message.Url))
   myStreamWriter.Flush()
   myStreamWriter.Close()
   myFileStream.Close()
End Sub 'WriteInputAfterDeserialize
// Process the SOAP message received and write it to a log file.
public override void ProcessMessage(SoapMessage
 message) 
{
   switch (message.Stage) 
   {
      case SoapMessageStage.BeforeSerialize:
         break;
      case SoapMessageStage.AfterSerialize:
         WriteOutput((SoapServerMessage)message);
         break;
      case SoapMessageStage.BeforeDeserialize:
         WriteInputBeforeDeserialize((SoapServerMessage)message);
         break;
      case SoapMessageStage.AfterDeserialize:
         WriteInputAfterDeserialize((SoapServerMessage)message);
         break;
      default:
         throw new Exception("invalid stage");
   }
}

// Write the contents of the incoming SOAP message to the log file.
public void WriteInputAfterDeserialize(SoapServerMessage
 message)
{
   FileStream myFileStream = 
      new FileStream(filename, FileMode.Append, FileAccess.Write);
   StreamWriter myStreamWriter = new StreamWriter(myFileStream);
   
   // 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 XML Web service.
   myStreamWriter.WriteLine("The type of the XML Web service is: ");
   if((message.Server.GetType()).Equals(typeof(MathSvc)))
      myStreamWriter.WriteLine("\tMathSvc");
      
   // Print to the log file the name of the XML Web service method.
   myStreamWriter.WriteLine(
      "The method of the XML Web service method requested:");
   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 XML Web service method.
   myStreamWriter.WriteLine(
      "The URL of the requested XML Web service method: ");
   myStreamWriter.WriteLine("\t" + message.Url);
   myStreamWriter.Flush();
   myStreamWriter.Close();
   myFileStream.Close();
}
継承階層継承階層
System.Object
   System.Web.Services.Protocols.SoapMessage
    System.Web.Services.Protocols.SoapServerMessage
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SoapServerMessage メンバ
System.Web.Services.Protocols 名前空間


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

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

辞書ショートカット

すべての辞書の索引

「SoapServerMessage クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS