SoapClientMessage Osztály

Definíció

Egy XML-webszolgáltatás-ügyfél által küldött SOAP-kérelemben vagy SOAP-válaszban szereplő adatokat jelöli egy adott SoapMessageStageidőpontban. Ez az osztály nem örökölhető.

public ref class SoapClientMessage sealed : System::Web::Services::Protocols::SoapMessage
public sealed class SoapClientMessage : System.Web.Services.Protocols.SoapMessage
type SoapClientMessage = class
    inherit SoapMessage
Public NotInheritable Class SoapClientMessage
Inherits SoapMessage
Öröklődés
SoapClientMessage

Példák

A következő kódrészlet egy SOAP-bővítmény része, amely naplózza az XML-webszolgáltatás-ügyfél által küldött és fogadott SOAP-üzeneteket. Ez a konkrét töredék feldolgozza a SoapClientMessageSoapExtension.ProcessMessage SOAP-bővítmény metódusába továbbított adatokat a SoapClientMessage naplófájl tulajdonságainak megírásával.

// 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 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.
 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
 
 
 ' 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

Tulajdonságok

Name Description
Action

Lekéri a SOAPAction SOAP-kérelem vagy a SOAP-válasz HTTP-kérés fejlécmezőjének értékét.

Client

Lekéri az ügyfélproxy-osztály egy példányát, amely a következőből SoapHttpClientProtocolszármazik: .

ContentEncoding

Lekéri vagy beállítja a Content-Encoding HTTP-fejléc tartalmát.

(Öröklődés forrása SoapMessage)
ContentType

Lekéri vagy beállítja a SOAP-kérés vagy a SOAP-válasz HTTP-ját Content-Type .

(Öröklődés forrása SoapMessage)
Exception

Lekéri a SoapException hívást az XML Web Service metódushoz.

(Öröklődés forrása SoapMessage)
Headers

Az aktuális SOAP-kérelemre vagy SOAP-válaszra alkalmazott SOAP-fejlécek gyűjteménye.

(Öröklődés forrása SoapMessage)
MethodInfo

Lekéri annak az XML-webszolgáltatás-metódusnak a prototípusát, amelyhez a SOAP-kérést szánják.

OneWay

Beolvas egy értéket, amely jelzi, hogy az ügyfél megvárja-e, amíg a kiszolgáló befejezi egy XML-webszolgáltatás-metódus feldolgozását.

SoapVersion

Lekéri az XML-webszolgáltatással való kommunikációhoz használt SOAP protokoll verzióját.

Stage

Lekéri a SoapMessageStageSoapMessage.

(Öröklődés forrása SoapMessage)
Stream

Lekéri a SOAP-kérést vagy a SOAP-választ ábrázoló adatokat egy Stream.

(Öröklődés forrása SoapMessage)
Url

Lekéri az XML-webszolgáltatás URL-címét.

Metódusok

Name Description
EnsureInStage()

Ha egy származtatott osztályban felül van bírálva, azt állítja, hogy az áram SoapMessageStage egy olyan szakasz, ahol a paraméterek elérhetők.

(Öröklődés forrása SoapMessage)
EnsureOutStage()

Ha egy származtatott osztályban felül van bírálva, azt állítja, hogy az aktuális SoapMessageStage szakasz olyan szakasz, ahol elérhetőek a kimenő paraméterek.

(Öröklődés forrása SoapMessage)
EnsureStage(SoapMessageStage)

Biztosítja, hogy az SoapMessageStage XML webszolgáltatás metódusának hívása az átadott szakasz vagy szakaszok legyen. Ha az aktuális feldolgozási fázis nem az átadott fázisok egyike, kivétel lép fel.

(Öröklődés forrása SoapMessage)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetInParameterValue(Int32)

Lekéri a paramétert az XML Web Service metódusba a megadott indexen.

(Öröklődés forrása SoapMessage)
GetOutParameterValue(Int32)

Lekéri a megadott indexben az XML Web Service metódusnak átadott kimenő paramétert.

(Öröklődés forrása SoapMessage)
GetReturnValue()

Lekéri egy XML-webszolgáltatás-metódus visszatérési értékét.

(Öröklődés forrása SoapMessage)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes: