diff options
Diffstat (limited to 'mcs/class/System.Web.Services/System.Web.Services.Protocols')
5 files changed, 29 insertions, 39 deletions
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog index 01f02c69e94..6519e52d14e 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog @@ -1,3 +1,18 @@ +2004-09-28 Lluis Sanchez Gual <lluis@novell.com> + + * WebServiceHelper.cs: Write the encodingStyle attribute when using the + encoded format. This fixes bug #66908. + +2004-08-25 Lluis Sanchez Gual <lluis@novell.com> + + * HttpSoapWebServiceHandler.cs, WebServiceHandler.cs: Do not assign the + context to the service. It already gets it from HttpContext.Current. + +2004-07-20 Lluis Sanchez Gual <lluis@ximian.com> + + * HttpWebClientProtocol.cs: Add received cookies to cookieContainer when + getting the response, do not wait for the next request to do it. + 2004-06-22 Lluis Sanchez Gual <lluis@ximian.com> * XmlReturnReader.cs, XmlReturnWriter.cs: Generate the serializer with diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSoapWebServiceHandler.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSoapWebServiceHandler.cs index eae97b4a743..6d03900b5b1 100755 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSoapWebServiceHandler.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSoapWebServiceHandler.cs @@ -335,11 +335,6 @@ namespace System.Web.Services.Protocols private SoapServerMessage Invoke (HttpContext ctx, SoapServerMessage requestMessage) { - WebService wsi = requestMessage.Server as WebService; - if (wsi != null) { - wsi.SetContext (ctx); - } - SoapMethodStubInfo methodInfo = requestMessage.MethodStubInfo; // Assign header values to web service members diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs index 3be915cfbc8..722f1d2a681 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs @@ -45,7 +45,6 @@ namespace System.Web.Services.Protocols { CookieContainer cookieContainer;
IWebProxy proxy;
string userAgent;
- CookieCollection prevCookies;
#if NET_1_1
bool _unsafeAuthenticated;
@@ -117,41 +116,25 @@ namespace System.Web.Services.Protocols { #region Methods
- internal virtual void AddCookies (Uri uri)
+ internal virtual void CheckForCookies (HttpWebResponse response)
{
- if (cookieContainer == null)
- cookieContainer = new CookieContainer ();
-
- if (prevCookies == null || prevCookies.Count == 0)
+ CookieCollection cookies = response.Cookies;
+ if (cookieContainer == null || cookies.Count == 0)
return;
CookieCollection coll = cookieContainer.GetCookies (uri);
- foreach (Cookie prev in prevCookies) {
- bool dont = false;
- foreach (Cookie c in coll) {
+ foreach (Cookie c in cookies) {
+ bool add = true;
+ foreach (Cookie prev in coll) {
if (c.Equals (prev)) {
- dont = true;
+ add = false;
break;
}
}
-
- if (dont == false)
- cookieContainer.Add (prev);
+ if (add)
+ cookieContainer.Add (c);
}
}
-
- internal virtual void CheckForCookies (HttpWebResponse response)
- {
- CookieCollection cookies = response.Cookies;
- if (cookies.Count == 0)
- return;
-
- if (prevCookies == null)
- prevCookies = new CookieCollection ();
-
- foreach (Cookie c in cookies)
- prevCookies.Add (c);
- }
protected override WebRequest GetWebRequest (Uri uri)
{
@@ -164,7 +147,6 @@ namespace System.Web.Services.Protocols { if (clientCertificates != null)
request.ClientCertificates.AddRange (clientCertificates);
- AddCookies (uri);
request.CookieContainer = cookieContainer;
if (proxy != null)
request.Proxy = proxy;
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs index a3b82b8eb1a..8727e6f2724 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs @@ -78,13 +78,7 @@ namespace System.Web.Services.Protocols protected object CreateServerInstance () { - object ws = Activator.CreateInstance (ServiceType); - WebService wsi = ws as WebService; - if (wsi != null) { - wsi.SetContext (_context); - } - - return ws; + return Activator.CreateInstance (ServiceType); } } } diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHelper.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHelper.cs index 309cdccf7c4..3c2efcfbfc1 100755 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHelper.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHelper.cs @@ -118,6 +118,10 @@ namespace System.Web.Services.Protocols // Serialize body xtw.WriteStartElement ("soap", "Body", WebServiceHelper.SoapEnvelopeNamespace); + + if (methodUse == SoapBindingUse.Encoded) + xtw.WriteAttributeString ("encodingStyle", WebServiceHelper.SoapEnvelopeNamespace, "http://schemas.xmlsoap.org/soap/encoding/"); + bodySerializer.Serialize (xtw, bodyContent); xtw.WriteEndElement (); |