SoapClientMessage Class
Represents the data in a SOAP request sent or a SOAP response received by an XML Web service client at a specific SoapMessageStage. This class cannot be inherited.
Assembly: System.Web.Services (in System.Web.Services.dll)
System.Web.Services.Protocols::SoapMessage
System.Web.Services.Protocols::SoapClientMessage
| Name | Description | |
|---|---|---|
![]() | Action | Gets the SOAPAction HTTP request header field for the SOAP request or SOAP response.(Overrides SoapMessage::Action.) |
![]() | Client | Gets an instance of the client proxy class, which derives from SoapHttpClientProtocol. |
![]() | ContentEncoding | Gets or sets the contents of the Content-Encoding HTTP header.(Inherited from SoapMessage.) |
![]() | ContentType | Gets or sets the HTTP Content-Type of the SOAP request or SOAP response.(Inherited from SoapMessage.) |
![]() | Exception | Gets the SoapException from the call to the XML Web service method.(Inherited from SoapMessage.) |
![]() | Headers | A collection of the SOAP headers applied to the current SOAP request or SOAP response.(Inherited from SoapMessage.) |
![]() | MethodInfo | Gets a representation of the method prototype of the XML Web service method for which the SOAP request is intended.(Overrides SoapMessage::MethodInfo.) |
![]() | OneWay | Gets a value indicating whether the client waits for the server to finish processing an XML Web service method.(Overrides SoapMessage::OneWay.) |
![]() | SoapVersion | Gets the version of the SOAP protocol used to communicate with the XML Web service.(Overrides SoapMessage::SoapVersion.) |
![]() | Stage | Gets the SoapMessageStage of the SoapMessage.(Inherited from SoapMessage.) |
![]() | Stream | Gets the data representing the SOAP request or SOAP response in the form of a Stream.(Inherited from SoapMessage.) |
![]() | Url | Gets the URL of the XML Web service.(Overrides SoapMessage::Url.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetInParameterValue(Int32) | Gets the parameter passed into the XML Web service method at the specified index.(Inherited from SoapMessage.) |
![]() | GetOutParameterValue(Int32) | Gets the out parameter passed into the XML Web service method at the specified index.(Inherited from SoapMessage.) |
![]() | GetReturnValue() | Gets the return value of an XML Web service method.(Inherited from SoapMessage.) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The following code fragment is part of a SOAP extension that logs the SOAP messages sent and received by an XML Web service client. This specific fragment processes the SoapClientMessage passed into the SoapExtension::ProcessMessage method of the SOAP extension by writing properties of the SoapClientMessage to the log file.
// 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 ); }
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

