2 // WebServicesClientProtocol.cs: Web Services Client Protocol
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
12 using System
.Web
.Services
.Protocols
;
14 namespace Microsoft
.Web
.Services
{
16 public class WebServicesClientProtocol
: SoapHttpClientProtocol
{
18 private Pipeline _pipeline
;
19 private SoapContext _requestContext
;
20 private SoapContext _responseContext
;
22 public WebServicesClientProtocol () {}
24 public Pipeline Pipeline
{
26 if (_pipeline
== null)
27 _pipeline
= new Pipeline ();
32 throw new System
.ArgumentNullException ("value");
37 public SoapContext RequestSoapContext
{
39 if (_requestContext
== null)
40 _requestContext
= new SoapContext ();
41 return _requestContext
;
45 public SoapContext ResponseSoapContext
{
47 if (_responseContext
== null)
48 _responseContext
= new SoapContext ();
49 return _responseContext
;
53 [MonoTODO("something is missing")]
54 public new string Url
{
55 get { return base.Url; }
56 set { base.Url = value; }
59 protected override WebRequest
GetWebRequest (Uri uri
)
61 SoapWebRequest request
= new SoapWebRequest (uri
);
62 RequestSoapContext
.CopyTo (request
.SoapContext
);
63 request
.Pipeline
= Pipeline
;
67 protected override WebResponse
GetWebResponse (WebRequest request
)
69 WebResponse response
= request
.GetResponse ();
70 //response.SoapContext.CopyTo (ResponseSoapContext);
74 [MonoTODO("do not support IAsyncResult")]
75 protected override WebResponse
GetWebResponse (WebRequest request
, IAsyncResult result
)
77 SoapWebResponse response
= (SoapWebResponse
) request
.GetResponse ();
78 response
.SoapContext
.CopyTo (ResponseSoapContext
);