Aracılığıyla paylaş


SoapClientMessage Sınıf

Tanım

Gönderilen SOAP isteğindeki verileri veya belirli SoapMessageStagebir XML Web hizmeti istemcisi tarafından alınan SOAP yanıtını temsil eder. Bu sınıf devralınamaz.

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
Devralma
SoapClientMessage

Örnekler

Aşağıdaki kod parçası, bir XML Web hizmeti istemcisi tarafından gönderilen ve alınan SOAP iletilerini günlüğe kaydeden bir SOAP uzantısının parçasıdır. Bu belirli parça, öğesinin SoapClientMessage özelliklerini SoapClientMessage günlük dosyasına yazarak SOAP uzantısının yöntemine geçirileni SoapExtension.ProcessMessage işler.

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

Özellikler

Action

SOAPAction SOAP isteği veya SOAP yanıtı için HTTP isteği üst bilgisi alanını alır.

Client

öğesinden türetilen istemci proxy sınıfının bir örneğini SoapHttpClientProtocolalır.

ContentEncoding

HTTP üst bilgisinin Content-Encoding içeriğini alır veya ayarlar.

(Devralındığı yer: SoapMessage)
ContentType

SOAP isteğinin veya SOAP yanıtının HTTP'sini Content-Type alır veya ayarlar.

(Devralındığı yer: SoapMessage)
Exception

SoapException XML Web hizmeti yöntemi çağrısından öğesini alır.

(Devralındığı yer: SoapMessage)
Headers

Geçerli SOAP isteğine veya SOAP yanıtına uygulanan SOAP üst bilgileri koleksiyonu.

(Devralındığı yer: SoapMessage)
MethodInfo

SOAP isteğinin amaçlandığı XML Web hizmeti yönteminin yöntem prototipinin bir gösterimini alır.

OneWay

İstemcinin sunucunun bir XML Web hizmeti yöntemini işlemeyi tamamlayıp bitirmediğini belirten bir değer alır.

SoapVersion

XML Web hizmetiyle iletişim kurmak için kullanılan SOAP protokolünün sürümünü alır.

SoapVersion

XML Web hizmetiyle iletişim kurmak için kullanılan SOAP protokolünün sürümünü alır.

(Devralındığı yer: SoapMessage)
Stage

öğesinin SoapMessageStage öğesini alır SoapMessage.

(Devralındığı yer: SoapMessage)
Stream

SOAP isteğini veya SOAP yanıtını temsil eden verileri biçiminde Streamalır.

(Devralındığı yer: SoapMessage)
Url

XML Web hizmetinin URL'sini alır.

Yöntemler

EnsureInStage()

Türetilmiş bir sınıfta geçersiz kılındığında, geçerlinin SoapMessageStage parametrelerin kullanılabilir olduğu bir aşama olduğunu onaylar.

(Devralındığı yer: SoapMessage)
EnsureOutStage()

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli SoapMessageStage aşamanın out parametrelerinin kullanılabilir olduğu bir aşama olduğunu onaylar.

(Devralındığı yer: SoapMessage)
EnsureStage(SoapMessageStage)

SoapMessageStage XML Web hizmeti yöntemine yapılan çağrının geçirilen aşama veya aşama olduğundan emin olun. Geçerli işleme aşaması geçirilen aşamalardan biri değilse, bir özel durum oluşturulur.

(Devralındığı yer: SoapMessage)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetInParameterValue(Int32)

Belirtilen dizinde XML Web hizmeti yöntemine geçirilen parametreyi alır.

(Devralındığı yer: SoapMessage)
GetOutParameterValue(Int32)

Belirtilen dizinde XML Web hizmeti yöntemine geçirilen out parametresini alır.

(Devralındığı yer: SoapMessage)
GetReturnValue()

XML Web hizmeti yönteminin dönüş değerini alır.

(Devralındığı yer: SoapMessage)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır