This class represents a SOAP request or SOAP response used to
communicate between a web service and proxy class. The
SoapMessage class is used primarily for SOAP
extensions. SOAP extensions, which derive from
SoapExtension, receive a
SoapMessage object at each
SoapMessageStage as an argument to
SoapExtension.ProcessMessage( ) method, which is
called automatically by the ASP.NET framework.
The SoapMessage class provides methods that allow
you to retrieve the web service method parameters and the return
value encoded in the SOAP message. For a
SoapClientMessage, you should use the
GetInParameterValue( ) method if the SOAP message
is in the SoapMessageStage.BeforeSerialize stage,
or the GetOutParameterValue( ) method if
it's in the
SoapMessageStage.AfterSerialize stage. For a
SoapServerMessage, the reverse is true.
To verify that the parameters are available, you can use the
EnsureInStage( ) or EnsureOutStage(
) method (a
System.InvalidOperationException will be thrown if
the message is not in a compatible stage). Alternatively, you can use
the Stage property to determine the state when the
SoapMessage was generated.
public abstract class SoapMessage {
// Public Instance Properties
public abstract string
Action {get; }
public string
ContentEncoding {set; get; }
public string
ContentType {set; get; }
public SoapException
Exception {get; }
public SoapHeaderCollection
Headers {get; }
public abstract LogicalMethodInfo
MethodInfo {get; }
public abstract bool
OneWay {get; }
public SoapMessageStage
Stage {get; }
public Stream
Stream {get; }
public abstract string
Url {get; }
// Public Instance Methods
public object
GetInParameterValue (int
index );
public object
GetOutParameterValue (int
index );
public object
GetReturnValue ( );
// Protected Instance Methods
protected abstract void
EnsureInStage ( );
protected abstract void
EnsureOutStage ( );
protected void
EnsureStage (SoapMessageStage
stage );
}