2 // System.Web.Services.Protocols.SoapMessage.cs
\r
5 // Tim Coleman (tim@timcoleman.com)
\r
7 // Copyright (C) Tim Coleman, 2002
\r
10 // Need to set the stream variable from the outside, or the constructor.
\r
14 using System.Web.Services;
\r
16 namespace System.Web.Services.Protocols {
\r
17 public abstract class SoapMessage {
\r
21 string contentType = "text/xml";
\r
22 SoapException exception = null;
\r
23 SoapHeaderCollection headers = null;
\r
24 SoapMessageStage stage;
\r
27 #endregion // Fields
\r
29 #region Constructors
\r
31 internal SoapMessage ()
\r
39 public abstract string Action {
\r
43 public string ContentType {
\r
44 get { return contentType; }
\r
45 set { contentType = value; }
\r
48 public SoapException Exception {
\r
49 get { return exception; }
\r
52 public SoapHeaderCollection Headers {
\r
53 get { return headers; }
\r
56 public abstract LogicalMethodInfo MethodInfo {
\r
60 public abstract bool OneWay {
\r
64 public SoapMessageStage Stage {
\r
65 get { return stage; }
\r
68 internal void SetStage (SoapMessageStage stage)
\r
73 public Stream Stream {
\r
79 public abstract string Url {
\r
83 #endregion Properties
\r
87 protected abstract void EnsureInStage ();
\r
88 protected abstract void EnsureOutStage ();
\r
90 protected void EnsureStage (SoapMessageStage stage)
\r
92 if ((((int) stage) & ((int) Stage)) == 0)
\r
93 throw new InvalidOperationException ("The current SoapMessageStage is not the asserted stage or stages.");
\r
97 public object GetInParameterValue (int index)
\r
99 throw new NotImplementedException ();
\r
103 public object GetOutParameterValue (int index)
\r
105 throw new NotImplementedException ();
\r
109 public object GetReturnValue ()
\r
111 throw new NotImplementedException ();
\r
114 #endregion // Methods
\r