2 // SoapWebRequest.cs: Soap Web Request
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
14 namespace Microsoft
.Web
.Services
{
16 public class SoapWebRequest
: WebRequest
{
19 private SoapContext context
;
20 private Pipeline pipeline
;
21 private WebRequest request
;
23 public SoapWebRequest (string uri
) : this (new Uri (uri
)) {}
25 public SoapWebRequest (Uri uri
) : base ()
28 context
= new SoapContext (null);
32 public override IAsyncResult
BeginGetRequestStream (AsyncCallback cb
, object state
)
34 return Request
.BeginGetRequestStream (cb
, state
);
38 public override IAsyncResult
BeginGetResponse (AsyncCallback cb
, object state
)
40 return Request
.BeginGetResponse (cb
, state
);
44 public override Stream
EndGetRequestStream (IAsyncResult asyncResult
)
46 return Request
.EndGetRequestStream (asyncResult
);
50 public override WebResponse
EndGetResponse (IAsyncResult asyncResult
)
52 return Request
.EndGetResponse (asyncResult
);
55 public override Stream
GetRequestStream ()
57 Stream s
= Request
.GetRequestStream ();
58 SoapEnvelope env
= new SoapEnvelope (context
);
59 return new ChainStream (s
, env
, Pipeline
);
62 public override WebResponse
GetResponse ()
64 return new SoapWebResponse (this);
67 public override string ConnectionGroupName
{
68 get { return Request.ConnectionGroupName; }
69 set { Request.ConnectionGroupName = value; }
72 public override string ContentType
{
73 get { return Request.ContentType; }
74 set { Request.ContentType = value; }
77 public override ICredentials Credentials
{
78 get { return Request.Credentials; }
79 set { Request.Credentials = value; }
82 public override WebHeaderCollection Headers
{
83 get { return Request.Headers; }
86 public override string Method
{
87 get { return Request.Method; }
88 set { Request.Method = value; }
91 public Pipeline Pipeline
{
93 // if none set, then get the default pipeline
95 pipeline
= new Pipeline ();
98 set { pipeline = value; }
101 public override bool PreAuthenticate
{
102 get { return Request.PreAuthenticate; }
103 set { Request.PreAuthenticate = value; }
106 public WebRequest Request
{
109 request
= WebRequest
.Create (uri
);
114 public override Uri RequestUri
{
118 public SoapContext SoapContext
{
119 get { return context; }
122 public override int Timeout
{
123 get { return Request.Timeout; }
124 set { Request.Timeout = value; }