2 // SoapWebResponse.cs: Soap Web Response List
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
10 using Microsoft.Web.Services;
15 namespace Microsoft.Web.Services {
17 public class SoapWebResponse : WebResponse {
19 private SoapWebRequest request;
20 private MemoryStream ms;
21 private WebResponse response;
23 internal SoapWebResponse (SoapWebRequest soapRequest)
25 request = soapRequest;
26 response = soapRequest.Request.GetResponse ();
29 public override Stream GetResponseStream ()
31 SoapEnvelope envelope = new SoapEnvelope ();
32 Stream s = response.GetResponseStream ();
34 request.Pipeline.ProcessInputMessage (envelope);
36 ms = new MemoryStream ();
38 ms.Position = 0; // ready to be read
42 public override long ContentLength {
43 get { return ((ms == null) ? 0 : ms.Length); }
46 public override string ContentType {
47 get { return request.Request.ContentType; }
50 public override WebHeaderCollection Headers {
51 get { return response.Headers; }
54 public SoapContext SoapContext {
55 get { return request.SoapContext; }