diff options
Diffstat (limited to 'mcs/class/System.Web.Services')
12 files changed, 54 insertions, 47 deletions
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog index 0ef4271cdd8..9e52d2feea5 100755 --- a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog @@ -1,3 +1,8 @@ +2004-08-24 Lluis Sanchez Gual <lluis@ximian.com> + + * ContractReference.cs, DiscoveryClientProtocol.cs: Set the url from which + documents are being read. + 2004-06-13 Gert Driesen <drieseng@users.sourceforge.net> * SchemaReference.cs: corrected namespace diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs index 54b2225e8c7..75fb86b5685 100755 --- a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs @@ -147,7 +147,7 @@ namespace System.Web.Services.Discovery { {
string contentType = null;
Stream stream = prot.Download (ref url, ref contentType);
- XmlTextReader reader = new XmlTextReader (stream);
+ XmlTextReader reader = new XmlTextReader (url, stream);
reader.MoveToContent ();
DiscoveryReference refe;
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs index e24e2f10c43..21fc58e63cb 100755 --- a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs @@ -84,7 +84,7 @@ namespace System.Web.Services.Discovery { public DiscoveryDocument Discover (string url)
{
Stream stream = Download (ref url);
- XmlTextReader reader = new XmlTextReader (stream);
+ XmlTextReader reader = new XmlTextReader (url, stream);
if (!DiscoveryDocument.CanRead (reader))
throw new InvalidOperationException ("The url '" + url + "' does not point to a valid discovery document");
@@ -131,7 +131,7 @@ namespace System.Web.Services.Discovery { stream = Download (ref url);
}
- XmlTextReader reader = new XmlTextReader (stream);
+ XmlTextReader reader = new XmlTextReader (url, stream);
reader.MoveToContent ();
DiscoveryDocument doc;
DiscoveryReference refe = null;
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 (); diff --git a/mcs/class/System.Web.Services/System.Web.Services/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services/ChangeLog index 5bf15ba35e5..019a79b25a1 100644 --- a/mcs/class/System.Web.Services/System.Web.Services/ChangeLog +++ b/mcs/class/System.Web.Services/System.Web.Services/ChangeLog @@ -1,3 +1,9 @@ +2004-08-25 Lluis Sanchez Gual <lluis@novell.com> + + * WebService.cs: Get the HttpContext from the HttpContext.Current, do not + wait to be set with SetContext. In this way the context is available + in the web service constructor. + 2004-05-12 Lluis Sanchez Gual <lluis@ximian.com> * WebService.cs: Take the session from the context. diff --git a/mcs/class/System.Web.Services/System.Web.Services/WebService.cs b/mcs/class/System.Web.Services/System.Web.Services/WebService.cs index e6d0db150d1..b6fc1313056 100644 --- a/mcs/class/System.Web.Services/System.Web.Services/WebService.cs +++ b/mcs/class/System.Web.Services/System.Web.Services/WebService.cs @@ -46,17 +46,13 @@ namespace System.Web.Services { public WebService ()
{
+ _context = HttpContext.Current;
}
#endregion // Constructors
#region Properties
- internal void SetContext (HttpContext context)
- {
- _context = context;
- }
-
[Browsable (false)]
[Description ("The ASP.NET application object for the current request.")]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
diff --git a/mcs/class/System.Web.Services/Test/standalone/ChangeLog b/mcs/class/System.Web.Services/Test/standalone/ChangeLog index 0622988e0fb..c05f9a58129 100644 --- a/mcs/class/System.Web.Services/Test/standalone/ChangeLog +++ b/mcs/class/System.Web.Services/Test/standalone/ChangeLog @@ -1,3 +1,7 @@ +2004-08-25 Lluis Sanchez Gual <lluis@novell.com> + + * server/SessionCounter.asmx: Check that Context != null in the constructor. + 2004-06-22 Lluis Sanchez Gual <lluis@ximian.com> * proxies.net.xml.gz: Updated. diff --git a/mcs/class/System.Web.Services/Test/standalone/server/SessionCounter.asmx b/mcs/class/System.Web.Services/Test/standalone/server/SessionCounter.asmx index 640f1bdf044..50c8befc415 100644 --- a/mcs/class/System.Web.Services/Test/standalone/server/SessionCounter.asmx +++ b/mcs/class/System.Web.Services/Test/standalone/server/SessionCounter.asmx @@ -8,6 +8,12 @@ { public class SessionCounter: System.Web.Services.WebService { + public SessionCounter () + { + if (Context == null) + throw new Exception ("Context not set in constructor"); + } + [ WebMethod(EnableSession=true) ] public void Reset() { |