2009-09-30 Miguel de Icaza <miguel@novell.com>
[mono-project.git] / mcs / class / System.Web.Services / System.Web.Services.Protocols / ChangeLog
blob697ac84e9c0581a527a6d5c4db7d9fbbd5762bb3
1 2009-09-30  Miguel de Icaza  <miguel@novell.com>
3         * Methods.cs: Empty extensions for MonoTouch for now.
5         * ServerType.cs: On MonoTouch, we do not support HttpGet or
6         HttpPost variations yet.
8         * SoapExtension.cs: Avoid System.Configuration features.
10 2009-08-24  Marek Habersack  <mhabersack@novell.com>
12         * SoapDocumentationHandler.cs: get rid of the ugly fake virtual
13         path hack when creating the helper page. Part of fix for bug
14         #463813
16 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
18         * LogicalMethodInfo.cs: add CacheDuration property.
19         * WebServiceHandlerFactory.cs: use CacheDuration.
20         Fixes bug #524460.
22 2009-05-05  Marek Habersack  <mhabersack@novell.com>
24         * Methods.cs: if SoapRpcMethodAttribute doesn't specify the action
25         or the action name is an empty string, generate the Action in
26         SoapMethodStubInfo constructor. Fixes bug #459790
28 2009-04-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
30         * HttpSoapWebServiceHandler.cs: provide the full stack trace instead
31         of just the Message to aid in debugging web service problems.
32         Bug #496758 fixed.
34 2008-06-10  Vladimir Krasnov  <vladimirk@mainsoft.com>
36         * TypeStubManager.cs: fixed TypeStubInfo ctor, default binding name is
37         wrong, when declared in WebServiceBindingAttribute, but not used.
38         fixes. bug number: #345448
40 2008-02-22  Atsushi Enomoto  <atsushi@ximian.com>
42         * TypeStubManager.cs : reverted 2007-12-11 change as it caused
43           several regressions.
45 2008-01-24  Marek Habersack  <mhabersack@novell.com>
47         * SoapDocumentationHandler.cs: use a fake virtual path to get the
48         WSDL help generator.
50         * WebServiceHandlerFactory.cs: use BuildManager.GetCompiledType
51         for the 2.0+ profile to get the handler type.
53 2008-01-08  Arina Itkes  <arinai@mainsoft.com>
55         * Methods.cs: Fix for compatibility with .NET:
56           In .NET if SOAPAction is set to empty string it is regarded like
57           clearly specified with empty string.
58           
59 2007-12-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
61         * TypeStubManager.cs: fixed TypeStubInfo ctor, default binding name is
62         wrong, when declared in WebServiceBindingAttribute, but not used.
63         fixes #345448 
65 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
67         * SoapHttpClientProtocol.cs : compare content-type in case-
68           insensitive manner. Fixed bug #325277.
70 2007-11-09  Atsushi Enomoto  <atsushi@ximian.com>
72         * SoapDocumentationHandler.cs : handle 'schema' HTTP parameter like
73           "...blah.asmx?schema=MySchemaID". (Such URL does not work yet.)
75 2007-10-29  Atsushi Enomoto  <atsushi@ximian.com>
77         * SoapException.cs : serialization constructor didn't call base.
78           Fixed bug #337421.
80 2007-10-10  Atsushi Enomoto  <atsushi@ximian.com>
82         * Methods.cs : (SoapMethodStubInfo) reverted r74747 which caused
83           bug #332150.
85 2007-10-05  Atsushi Enomoto  <atsushi@ximian.com>
87         * HttpWebClientProtocol.cs : implemented EnableDecompression.
89 2007-10-04  Atsushi Enomoto  <atsushi@ximian.com>
91         * TypeStubManager.cs: reverted r82932 again. This #if ONLY_1_1 causes
92           NUnit test regressions. It should not be reverted again until
93           appropriate NUnit test case is provided and proper fix is provided
94           that does not cause regressions.
96 2007-09-25  Marek Habersack  <mhabersack@novell.com>
98         * WebServiceHandlerFactory.cs: WebServiceParser.GetCompiledType
99         must be passed a virtual path, not physical one. Fixes bug
100         #327809.
102 2007-08-21  Robert Jordan  <robertj@gmx.net>
104         * ValueCollectionParameterReader.cs (Read):
105         Add support for array parameters. Fixes #82519.
107 2007-07-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
109         * TypeStubManager.cs: fixed BindingInfo.ctor, reverted to ONLY_1_1
111 2007-06-16  Gert Driesen  <drieseng@users.sourceforge.net>
113         * Fault.cs: In SOAP 1.1, the child elements of Fault may be unqualified.
114         Fixed FaultReader's ReadObject_Fault to only process either unqualified
115         elements or elements in the SOAP 1.1 namespace, hereby fixing part of
116         bug #81886 where an unqualified detail element was not processed. In 
117         FaultWriter, write unqualified detail element. Fixes second part of 
118         bug #81886.
120 2007-05-11  Atsushi Enomoto  <atsushi@ximian.com>
122         * SoapServerType.cs : avoid IndexOutOfRange on reflecting 
123           SoapRpcAttribute.
125 2007-05-08  Atsushi Enomoto  <atsushi@ximian.com>
127         * SoapServerMethod.cs : Some refactoring. simply use GetMethod() in
128           type stub. WsiClaims could be retrieved from type stub.
129         * SoapServerType.cs : store server methods and implement GetMethod().
131 2007-05-08  Atsushi Enomoto  <atsushi@ximian.com>
133         * SoapServerType.cs
134           ServerType.cs
135           Methods.cs : SoapBindingUse and SoapServiceRoutingStyle could just
136           be stored in LogicalTypeInfo (as they are attributed in a web
137           service class), and removed duplicates of them in SoapTypeStubInfo.
138           Invalid attributes on a service class are checked in SoapServerType
139           .ctor().
141 2007-05-08  Atsushi Enomoto  <atsushi@ximian.com>
143         * XmlReturnReader.cs
144           XmlReturnWriter.cs
145           TypeStubManager.cs
146           ServerType.cs
147           SoapServerType.cs
148           Methods.cs
149           HttpSimpleTypeStubInfo.cs
150           HttpGetTypeStubInfo.cs
151           HttpPostTypeStubInfo.cs :
152           I once replaced LogicalTypeInfo with ServerType. It was kind of
153           wrong, since ServerType could be instantiated at any time, while
154           LogicalTypeInfo used to be a singleton per static context.
155           Here I re-introduced LogicalTypeInfo and replaced most of
156           ServerType use with this.
158 2007-05-08  Atsushi Enomoto  <atsushi@ximian.com>
160         * LogicalMethodInfo.cs : MethodInfo is null when it is async.
161           Added internal ActualMethodInfo to represent "sync or begin" method
162           (i.e. former MethodInfo).
163         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs :
164           MethodInfo -> ActualMethodInfo.
166 2007-04-29  Konstantin Triger  <kostat@mainsoft.com>
168         *  WebServiceHelper.cs, HttpSoapWebServiceHandler.cs: add support for SOAP1.2
169                                 to pass action in ContentType HTTP header.
170                                 See http://www.w3.org/TR/soap12-part0/#L4697.
172 2007-04-23  Atsushi Enomoto  <atsushi@ximian.com>
174         * TypeStubManager.cs : fix binding enumeration on finding by name.
175           fix wrong ONLY_1_1.
176         * ServerType.cs : ONLY_1_1 is evil enough to make sources confusing.
177           Use it only when it is really needed.
179 2007-04-11  Konstantin Triger <kostat@mainsoft.com>
181         * WebServiceHandlerFactory.cs: Use HttpRequest.IsLocal to determine
182                 local request in 2.0 profile.
184 2007-03-21  Konstantin Triger <kostat@mainsoft.com>
186         * TypeStubManager.cs, Methods.cs, ServerType.cs: add support for the 2.0
187                 feature, which enables declaring WebService/WebMethods attributes
188                 in interface.
190 2007-03-11  Konstantin Triger <kostat@mainsoft.com>
192         * WebServiceHandlerFactory.cs: throw on protocol version mismatch
193                 for 2.0 profile only.
195 2007-03-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
197         * TypeStubManager.cs: fixed BindingInfo.ctor, it does not takes Name
198         property from WebServiceBindingAttribute in .net 2.0
200 2007-03-04  Konstantin Triger <kostat@mainsoft.com>
202         * WebServiceHandlerFactory.cs: throw on protocol version mismatch.
204 2007-02-01  Konstantin Triger <kostat@mainsoft.com>
206         * TypeStubManager.cs, Methods.cs: refactor BindingInfo contruction to contain
207                 either declared Bindings or a default one.
209 2007-02-01  Konstantin Triger <kostat@mainsoft.com>
211         * HttpSimpleWebServiceHandler.cs: Provide better error info.
213 2007-01-22  Miguel de Icaza  <miguel@novell.com>
215         * HttpSimpleClientProtocol.cs, SoapHttpClientProtocol.cs: Hook up
216         RegisterMapping and UnregisterMapping.
218         * HttpWebClientProtocol.cs (RegisterMapping, UnregisterMapping):
219         Keep track of all the async invocations that are created, based on
220         the "userState" key.
222         (CancelAsync): Implement. 
223         
224 2006-12-22  Atsushi Enomoto  <atsushi@ximian.com>
226         * HttpSoapWebServiceHandler.cs : (SerializeFault) requestMessage
227           could be null.
229 2006-12-21  Atsushi Enomoto  <atsushi@ximian.com>
231         * WebServiceHelper.cs :
232           added Soap12FaultToSoapException conversion method (copied from
233           SoapHttpClientProtocol.cs).
234           Added couple of switching fault code getter (by soap12 flag).
235         * SoapMessage.cs: added IsSoap12 property to simplify SOAP 1.2
236           conditional code.
237         * HttpSimpleServerProtocolFactory.cs, WebServiceHelper.cs,
238           HttpSoapWebServiceHandler.cs, SoapHttpClientProtocol.cs :
239           reflected all changes above. Switch 1.2 fault and 1.1 fault, and
240           simplify 1.2 switch.
242 2006-12-21  Atsushi Enomoto  <atsushi@ximian.com>
244         * SoapHttpClientProtocol.cs : SOAP 1.2 client should allow text/xml
245           content type. Now bug #79985 is fixed here.
247 2006-12-21  Atsushi Enomoto  <atsushi@ximian.com>
249         * HttpSoapWebServiceHandler.cs : read xml with correct
250           SOAP 1.2 Envelope namespace. To determine the message
251           version, it must check SOAP version in
252           DeserializeRequest().
254 2006-12-19  Atsushi Enomoto  <atsushi@ximian.com>
256         * SoapClientMessage.cs : oops, SoapVersion is only 2.0.
258 2006-12-19  Atsushi Enomoto  <atsushi@ximian.com>
260         * SoapHttpClientProtocol.cs :
261           Don't use HTTP header when SoapVersion is Soap12.
262         * HttpSoapWebServiceHandler.cs :
263           With SOAP 1.2 message we can only use Body content.
264           Set correct Content-Type for SOAP 1.2 message.
265         * Fault12.cs : added null check.
266         * SoapClientMessage.cs :
267           Set correct Content-Type for SOAP 1.2 message.
268         * WebServiceHandlerFactory.cs :
269           don't reject SOAP 1.2 protocol here.
271 2006-12-18  Atsushi Enomoto  <atsushi@ximian.com>
273         * WebServiceHandlerFactory.cs,
274           SoapServerMessage.cs,
275           HttpSoapWebServiceHandler.cs :
276           set guessed protocol to SoapServerMessage.
278 2006-12-18  Atsushi Enomoto  <atsushi@ximian.com>
280         * TypeStubManager.cs, Methods.cs, SoapServerMethod.cs :
281           added WsiClaims property to TypeStubInfo, to implement
282           SoapServerMethod.WsiClaims.
284 2006-12-15  Atsushi Enomoto  <atsushi@ximian.com>
286         * ServerType.cs : added SOAP 1.2 protocol as a different one from
287           SOAP 1.1.
288         * Methods.cs : added Soap12TypeStubInfo.
290 2006-12-15  Atsushi Enomoto  <atsushi@ximian.com>
292         * HttpSoapWebServiceHandler.cs,
293           SoapHttpClientProtocol.cs : support application/soap+xml.
295 2006-12-04  Atsushi Enomoto  <atsushi@ximian.com>
297         * AnyReturnReader.cs : not sure why, but the build must have been
298           broken, and now it is exposed.
299         * SoapHttpClientProtocol.cs : added missing members, left as MonoTODO.
301 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
303         * AnyReturnReader.cs : implemented, it does almost nothing.
305 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
307         * SoapServerMethod.cs : implemented based on SoapMethodStubInfo.
308         * ServerType.cs : added UseEncoded, used in SoapServerType.
309         * SoapServerType.cs : ServiceDefaultIsEncoded is base.UseEncoded,
310           and ServiceNamespace is base.WebServiceNamespace.
311         * SoapHeaderMapping.cs : origin info.
313 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
315         * SoapDocumentationHandler.cs, SoapExtension.cs :
316           WebServicesSection.Instance -> .Current.
318 2006-11-30  Atsushi Enomoto  <atsushi@ximian.com>
320         * SoapHeaderMapping.cs : Now HeaderInfo became this type to implement
321           this class. Remapped some members (e.g. IsUnknownHeader -> Custom).
322         * Methods.cs : so, split HeaderInfo from here.
323         * SoapMessage.cs : Added alias HeaderInfo to SoapHeaderMapping.
324           Renamed some properties.
326 2006-11-30  Atsushi Enomoto  <atsushi@ximian.com>
328         * ServerType.cs : Now LogicalTypeInfo became this type to implement
329           this class (and SoapTypeStubInfo to SoapServerType later).
330         * TypeStubManager.cs : so, split LogicalTypeInfo from here.
331         * XmlReturnReader.cs, XmlReturnWriter.cs, Methods.cs,
332           HttpSimpleTypeStubInfo.cs, HttpGetTypeStubInfo.cs,
333           HttpPostTypeStubInfo.cs : LogicalTypeInfo -> ServerType.
335 2006-11-30  Atsushi Enomoto  <atsushi@ximian.com>
337         * SoapHttpClientProtocol.cs : looks like (only) the last Text is used
338           instead of the first one in .net.
340 2006-11-28  Atsushi Enomoto  <atsushi@ximian.com>
342         * Fault12.cs : they should be all internal.
344 2006-11-28  Atsushi Enomoto  <atsushi@ximian.com>
346         * Fault12.cs, fault-12.genxs, Fault12Serializer.cs :
347           SOAP 1.2 Fault serializer and its generation sources.
348         * SoapException.cs :
349           Fixed .ctor() whose initialization was incorrect.
350         * WebServiceHelper.cs, Methods.cs, HttpSoapWebServiceHandler.cs,
351           SoapHttpClientProtocol.cs :
352           handle SOAP 1.2 Fault.
354 2006-11-22  Atsushi Enomoto  <atsushi@ximian.com>
356         * SoapHeader.cs WebServiceHelper.cs SoapClientMessage.cs
357           HttpSoapWebServiceHandler.cs SoapHttpClientProtocol.cs:
358           SOAP 1.2 Envelope support has started. Though I will have to
359           change its internals significantly, so it is in my branch.
361 2006-11-21  Atsushi Enomoto  <atsushi@ximian.com>
363         * WebClientProtocol.cs HttpWebClientProtocol.cs SoapException.cs
364           SoapHeaderException.cs HttpSimpleClientProtocol.cs
365           SoapHttpClientProtocol.cs SoapMessage.cs:
366           assorted cosmetic API fixes.
368 2006-11-19  Atsushi Enomoto  <atsushi@ximian.com>
370         * HttpSoapWebServiceHandler.cs: on deserializing the request, do not 
371           close the input stream. Fixed bug #79954. Fix by Juan C. Olivares.
373 2006-11-16  Atsushi Enomoto  <atsushi@ximian.com>
375         * HttpServerProtocol.cs : removed old code.
376         * SoapServerProtocol.cs, ServerProtocol.cs : removed as well, and
377           added up-to-date ones.
378         * SoapHeaderHandling.cs, SoapHeaderMapping.cs,
379           ServerProtocolFactory.cs, SoapServerType.cs,
380           SoapServerProtocolFactory.cs, ServerType.cs,
381           SoapServerProtocol.cs, ServerProtocol.cs,
382           SoapServerMethod.cs :
383           Added stubs for 2.0 server protocol model. For now I don't spend
384           time on these ones but rather fill more important bits like
385           SOAP 1.2 support.
387 2006-11-15  Atsushi Enomoto  <atsushi@ximian.com>
389         * SoapHeaderException.cs, SoapException.cs, SoapFaultSubcode.cs,
390           Soap12FaultCodes.cs : API fixes, mostly for SoapFaultSubCode.
392 2006-11-14  Atsushi Enomoto  <atsushi@ximian.com>
394         * SoapHttpClientProtocol.cs : 2.0 API fix (WsiClaims -> WsiProfiles).
396 2006-09-06  Lluis Sanchez Gual <lluis@novell.com> 
398         * ValueCollectionParameterReader.cs, MimeFormatter.cs: Support enums in
399         the http get and post protocols. Fixes bug #78461.
401 2006-09-06  Lluis Sanchez Gual <lluis@novell.com>
403         * SoapException.cs: Fix property name.
405 2006-09-05  Ankit Jain <jankit@novell.com>
407         * LogicalMethodTypes.cs:
408         * SoapMessageStage.cs:
409         * SoapServiceRoutingStyle.cs:
410         * SoapHeaderDirection.cs:
411         * SoapParameterStyle.cs:
412         * SoapProtocolVersion.cs: Remove [Serializable].
414 2006-08-30  Konstantin Triger <kostat@mainsoft.com>
416         * WebClientProtocol.cs: implemented WebClientProtocol.UseDefaultCredentials().
418 2006-06-08  Chris Toshok  <toshok@ximian.com>
420         * WebServiceHandlerFactory.cs: remove the CONFIGURATION_2_0 from
421         ifdefs. NET_2_0 implies this now.
423         * SoapExtension.cs: same.
425         * SoapDocumentationHandler.cs: same.
427 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
429         * SoapExtension.cs: fixed ExecuteProcessMessage signature, added 
430         stream parameter in order to update SoapMessage stream
431         * SoapMessage.cs: removed unused ctor, added internal property to
432         set SoapMessage's stream member
433         * HttpSoapWebServiceHandler.cs, SoapHttpClientProtocol.cs: updated
434         usage of ExecuteProcessMessage
436 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
438         * SoapServerMessage.cs: fixed SoapServerMessage constructors to
439         remove quotes from SoapAction http header when initializing local
440         action member
442 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
444         * HttpSoapWebServiceHandler.cs, SoapServerMessage.cs: fixed
445         SoapMessage.ContentEncoding that used in ProcessMessage method
446         in SoapExtension
448 2006-03-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
450         * TypeStubManager.cs: fixed type_to_manager member to be initialized
451         per appdoamin (within TARGET_JVM block)
453 2006-03-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
455         * SoapDocumentationHandler.cs: TARGET_JVM blocks added to exclude
456         not supported methods
458 2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
460         * WebClientProtocol.cs: Add a 2.0 stub
462 2006-01-04  Chris Toshok  <toshok@ximian.com>
464         * SoapDocumentationHandler.cs: add CONFIGURATION_2_0 stuff.
466 2006-01-04  Chris Toshok  <toshok@ximian.com>
468         * WebServiceHandlerFactory.cs: add CONFIGURATION_2_0 stuff.
470         * SoapExtension.cs: add CONFIGURATION_2_0 stuff.
472 2005-09-26  Lluis Sanchez Gual <lluis@novell.com>
474         * LogicalMethodInfo.cs: GetCustomAttribute* does not return
475         inherited attributes in MS.NET.
477 2005-08-15 Gert Driesen <drieseng@users.sourceforge.net>
479         * SoapException.cs: Only mark serializable on 2.0 profile.
480         * SoapHeaderException.cs: Only mark serializable on 2.0 profile.
481         * WebClientProtocol.cs: DefaultValue of RequestEncoding must be null
482         to match MS.NET. Fixed line endings.
484 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
486         * SoapDocumentationHandler.cs: workaround for a bug in the HttpRequest
487         QueryString property. Under MS, GetKey (0) yields null.
489 2005-06-30  Konstantin Triger <kostat@mainsoft.com>
491         * HttpSoapWebServiceHandler.cs:
492         * HttpSimpleWebServiceHandler.cs: Disposing the WebService instance
493         after a WebMethod invocation.
495 2005-06-14  Lluis Sanchez Gual <lluis@novell.com>
497         * SoapHttpClientProtocol.cs: 
498         * WebServiceHelper.cs:
499         * Methods.cs: Changed the way headers are serialized. Instead of having
500         a serializer per header type, we now have a serializer per method, and
501         headers are serialized using a member mapping.
502         
503         * HttpSoapWebServiceHandler.cs: Handle one way methods properly.
504         Fixes bug #70699.
506 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
508         * HttpSoapWebServiceHandler.cs: use the HttpResponse.BufferOutput
509         instead of our own MemoryStream when buffering is enabled. Flush the
510         response instead of closing it, as that allows for Content-Length to
511         be sent from HttpResponse and helps reusing connections.
513 2005-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
515         * WebServiceHelper.cs: don't even try to read the response if its length
516         is known to be 0.
518         * SoapHttpClientProtocol.cs: for successful responses on methods that
519         are not one-way, don't return immediately if the content length is 0 so
520         that the check for Content-Type takes place.
522 2005-06-07  Kornél Pál <kornelpal@hotmail.com>
524         * WebServiceHandlerFactory.cs: Throw InvalidOperationException instead of
525         returning DummyHttpHandler when the request format is not supported.
527 2005-06-06  Kornél Pál <kornelpal@hotmail.com>
529         * WebServiceHandlerFactory.cs: Added support for HttpPostLocalhost and HttpSoap12
531 2005-06-05 Konstantin Triger <kostat@mainsoft.com>
533         * SoapHttpClientProtocol.cs: Close WebResponse to free resources
534         * WebClientProtocol.cs, TypeStubManager.cs, SoapExtension.cs: moving static fields to AppDomain in Java builds
536 2005-02-07  Lluis Sanchez Gual <lluis@novell.com>
538         * XmlReturnWriter.cs, SoapDocumentationHandler.cs: Use utf-8 encoding
539         when generating xml responses, wsdl documents and schemas. This fixes
540         bug #72202.
542 2004-12-09  Lluis Sanchez Gual <lluis@novell.com> 
544         * ValueCollectionParameterReader.cs: Parse parameters in the correct
545         way, Convert.ChangeType is not enough. This fixes bug #70266.
546         Removed some types that are not supported as parameters.
547         * MimeFormatter.cs: Added methods for xml <-> object conversion.
548         * UrlEncodedParameterWriter.cs: Use a more elaborate method for converting
549         from object to string, ToString() is not enough.
551 2004-12-09  Lluis Sanchez Gual <lluis@novell.com>
553         * TypeStubManager.cs: Removed redundat hastable access.
554         * SoapHttpClientProtocol.cs: Accept responses with ContentLength==0.
555         This fixes bug #70310.
557 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
559         * SoapHttpClientProtocol.cs: dispose the StreamReader that wraps the
560         response stream.
562 2004-09-15  Lluis Sanchez Gual <lluis@novell.com>
564         * Methods.cs: Use the service namespace as the base for the soap action.
565           This fixes bug #60379.
567 2004-08-25  Lluis Sanchez Gual <lluis@novell.com>
569         * HttpSoapWebServiceHandler.cs, WebServiceHandler.cs: Do not assign the
570           context to the service. It already gets it from HttpContext.Current.
572 2004-07-27  Lluis Sanchez Gual  <lluis@ximian.com>
574         * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs, 
575           SoapHttpClientProtocol.cs: Implemented support for the new async model.
576         * InvokeCompletedEventArgs.cs: Implemented.
578 2004-07-20  Lluis Sanchez Gual  <lluis@ximian.com>
580         * HttpWebClientProtocol.cs: Add received cookies to cookieContainer when
581           getting the response, do not wait for the next request to do it.
583 2004-07-13  Lluis Sanchez Gual  <lluis@ximian.com>
585         * HttpWebClientProtocol.cs, Soap12FaultCodes.cs, SoapClientMessage.cs,
586           SoapException.cs, SoapHeader.cs, SoapHeaderException.cs, 
587           SoapHttpClientProtocol.cs, SoapMessage.cs, SoapRpcMethodAttribute.cs,
588           SoapRpcServiceAttribute.cs, SoapServerMessage.cs: Api fixage (mainly
589           missing attributes).
591 2004-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
593         * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs, 
594           SoapClientMessage.cs, SoapHttpClientProtocol.cs, SoapServerMessage.cs:
595           Added 2.0 stubs.
596         * SoapException.cs, SoapHeader.cs, SoapHeaderException.cs, SoapMessage.cs,
597           SoapRpcMethodAttribute.cs, SoapRpcServiceAttribute.cs: Implemented some
598           new methods and properties.
599         * WebClientProtocol.cs: uri field must be internal.
601 2004-07-05  Lluis Sanchez Gual  <lluis@ximian.com>
603         * Methods.cs: When using RPC, ignore RequestElementName and MessageName, 
604           and always uses the method name (MS.NET seems to do this).
606 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
608         * XmlReturnWriter.cs: Add XmlIncludes to the reflection importer when
609           reflecting the return type.
611 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
613         * Methods.cs: Check for null when looking for a header serializer, since
614           unknown headers don't have a serializer.
615         * SoapHeader.cs: Check for empty string before setting 
616           EncodedMustUnderstand.
618 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
620         * Methods.cs, SoapMessage.cs: Added support for unknown headers.
621         * SoapHeader.cs, SoapUnknownHeader.cs: Added new constructor that takes an
622           XmlElement with header info.
623         * WebServiceHelper.cs: Write the encodingStyle attribute when using the
624           encoded format. Added support for unknown headers.
626 2004-06-22  Lluis Sanchez Gual  <lluis@ximian.com>
628         * XmlReturnReader.cs, XmlReturnWriter.cs: Generate the serializer with
629           the root attribute taken from the method attributes.
631 2004-06-10  Lluis Sanchez Gual  <lluis@ximian.com>
633         * TypeStubManager.cs: Improved locking in GetLogicalTypeInfo().
634         * WebServiceHandler.cs: Removed unneded methods.
636 2004-06-02  Lluis Sanchez Gual  <lluis@ximian.com>
638         * LogicalMethodInfo.cs: Don't crash in GetCustomAttribute if the requested
639           attribute is not found.
641 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
643         * HttpSoapWebServiceHandler.cs: Removed unused variables.
644         * SoapHeaderAttribute.cs: Added Obsolete attribute.
646 2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
648         * SoapClientMessage.cs: Get the MethodInfo from the corresponding
649           SoapMethodStubInfo.
651 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
653         * SoapHttpClientProtocol.cs: when the response has a not acceptable
654         status code, the WebException we throw has a status of ProtocolError.
655         Fixes bug #58564.
657 2004-05-12  Lluis Sanchez Gual  <lluis@ximian.com>
659         * LogicalMethodInfo.cs: Made EnableSession property internal.
661 2004-05-12  Lluis Sanchez Gual  <lluis@ximian.com>
663         * HttpSimpleWebServiceHandler.cs: Added GetRequestMethod(), which is used
664           by the handler factory to check if the target method needs session or not.
665           Also factorized error handling in WriteError().
666         * HttpSoapWebServiceHandler.cs: Added GetRequestMethod(), for the same 
667           reason. Assign the context to the WebService just before invoking the
668           method.
669         * SoapHttpClientProtocol.cs: Use helper method to create the xml writer.
670         * WebServiceHandler.cs: Added virtual GetRequestMethod().
671         * WebServiceHandlerFactory.cs: Use an http handler wrapper when the target
672           method requires session support.
673         * WebServiceHelper.cs: Added some helper methods.
675 2004-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
677         * SoapDocumentationHandler.cs: added internal property to get the page
678         handler when available.
680         * WebServiceHandlerFactory.cs: wrap the documentation handler in a class
681         that implements IRequiresSessionState and, if requested,
682         IReadOnlySessionState, so that we can use Sesion object in the default
683         WSDL help generator.
685 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
687         * HttpSoapWebServiceHandler.cs: finish the request after serializing
688         the fault message.
690 2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
692         * HttpGetWebServiceHandler.cs:
693         * HttpPostWebServiceHandler.cs: removed.
695         * HttpSimpleWebServiceHandler.cs: changed ctor parameters and added
696         EnableSession property.
698         * WebServiceHandler.cs: added EnableSession virtual property.
700         * WebServiceHandlerFactory.cs: added a new handler that implements
701         IRequiresSessionState used for HttpGet and HttpPost.
702         (GetHandler): for HttpGet and HttpPost check if the method requires to
703         have a Session object and use the new SimpleSyncSessionHandler in that
704         case.
706         Still missing proper session handler for SOAP requests.
708 2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
710         * HttpSimpleWebServiceHandler.cs:
711         * HttpSoapWebServiceHandler.cs: use the session if the method has
712         EnableSession set.
714         * LogicalMethodInfo.cs: added EnableSession property.
716         * WebServiceHandler.cs: set the Session object of the WebService.
718 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
720         * WebServiceHelper.cs: In GetContentEncoding, chop off the single & double
721           quotes around the encoding name. Patch by George Kodinov. This fixes
722           bug #55806.
724 2004-03-10  Lluis Sanchez Gual  <lluis@ximian.com>
726         * HttpSoapWebServiceHandler.cs: Set the properties ContentType and 
727           ContentEncoding in SoapServerMessage.
728         * LogicalMethodInfo.cs: Implemented AsyncResultParameter, BeginInvoke and
729           EndInvoke. Fixed ComputeParameters, so it computes the correct parameters
730           for async logical methods.
731         * Methods.cs: Check that client proxies have one and only one 
732           WebServiceBindingAttribute.
733         * PatternMatcher.cs: Implemented (in fact, just moved code from 
734           TextReturnReader.cs)
735         * SoapDocumentationHandler.cs: Add soap bindings in the generated
736           discovery document.
737         * SoapHttpClientProtocol.cs: Implemented method Discover().
738         * SoapMessage.cs: Implemented property ContentEncoding.
739         * TextReturnReader.cs: Moved code to PatternMatcher.cs.
740         
741 2004-02-27  Lluis Sanchez Gual  <lluis@ximian.com>
743         * Fault.cs: Moved Fault class from Methods.cd to this file. It also includes
744           a generated serializer.
745         * HttpSoapWebServiceHandler.cs, WebServiceHelper.cs: Use the new static Fault serializer.
746         * Methods.cs: Include types declared with XmlInclude and SoapInclude to the
747           reflection importer. Moved Fault and its serializer to Fault.cs
748         * SoapHttpClientProtocol.cs: Removed unused method.
750 2004-02-12  Lluis Sanchez Gual <lluis@ximian.com>
752         * WebServiceHelper.cs: When reading a soap request, skip empty headers. 
753           This fixes bug #51846.
755 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
757         * WebServiceHandler.cs: inheritance from WebService is not mandatory.
759 2004-02-05  Alon Gazit <along@mainsoft.com>
761        * HttpMethodAttribute.cs:
762        * MatchAttribute.cs:
763        * SoapDocumentMethodAttribute.cs:
764        * SoapDocumentServiceAttribute.cs:
765        * SoapHeaderAttribute.cs:
766        * SoapRpcMethodAttribute.cs:
767        * SoapRpcServiceAttribute.cs: This attribute is inherited by
768                 derived classes.changed the AttributeUsage attribute.
770 2004-02-05  Alon Gazit <along@mainsoft.com>
772         * SoapHeaderAttribute.cs: This attribute is multiuse.
773         Changed the AttributeUsage attribute.
775 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
777         * SoapDocumentMethodAttribute.cs: Fixed bug in ResponseNamespace.
779 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
781         * HttpWebClientProtocol.cs: Added missing property.
782         * Methods.cs: Default binding for a method must be null.
783         * SoapHeaderDirection.cs: Added missing enum value.
784         * SoapMessage.cs: Added missing property.
785         * TypeStubManager.cs: Removed unneded check from AddBinding.
786           In GetBinding(), return default binding if name is null.
787         * ValueCollectionParameterReader.cs: IsPrimitive must be internal.
789 2004-01-21  Lluis Sanchez Gual <lluis@ximian.com>
791         * HttpSoapWebServiceHandler.cs, SoapHttpClientProtocol.cs: Do not use 
792           indented format for requests and responses. SOAPAction header value
793           must be quoted (fix by Yaacov Akiba Slama).
794         
795 2004-01-21  Lluis Sanchez Gual <lluis@ximian.com>
797         * Methods.cs: Set the correct namespaces for Fault. This fixes bug #53117.
798           Based on the fix by Eran Domb.
800 2004-01-19  Lluis Sanchez Gual <lluis@ximian.com>
802         * Methods.cs: Get the method namespace from the binding, not from the web
803         service.
804         * TypeStubManager.cs: When adding a binding, ignore it if it has already
805         been added. Changed WebServiceLiteralNamespace by the method
806         GetWebServiceLiteralNamespace. The literal namespace depends on the binding
807         namespace, so it has to be provided as parameter.
808         * XmlReturnReader.cs, XmlReturnWriter.cs: Use GetWebServiceLiteralNamespace 
809         instead of WebServiceLiteralNamespace.
811 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
813         * Methods.cs: Set the correct element name and namespace for headers (those
814         are not managed like other data classes).
816 2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
818         * HttpSoapWebServiceHandler.cs:
819         * HttpSimpleWebServiceHandler.cs: set
820         base.Context property.
822         * WebServiceHandler.cs: added set_Context and set the context for the
823         WebService when creating the instance.
825 2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
827         * SoapDocumentationHandler.cs: Added support for DISCO file generation.
829 2003-12-16  Lluis Sanchez Gual <lluis@ximian.com>
831         * HttpSimpleClientProtocol.cs: Do not encode the request url, since it is
832           already encoded by the MimeParameterWriter.
833         * MatchAttribute.cs: Set default value for Group to 1.
834         * TextReturnReader.cs: Implemented. With this it is possible to create an
835           XML web service that parse the contents of a web page.
837 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
839         * HttpSoapWebServiceHandler.cs: Added check for valid SOAPAction header.
840           Fixed bug when routing style is RequestElement.
841           Removed GetMethodFromAction. This is done now in the type stub.
842           Other minor fixes.
843         * Methods.cs, WebServiceHelper.cs: Faults are always serialized using 
844           literal format. Removed unneded code.
845         
846 2003-12-12  Lluis Sanchez Gual <lluis@ximian.com>
848         * Methods.cs: Added special handling for RPC format.
849         
850 2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
852         * Methods.cs: Added correct namespace for serialization in Fault class.
853         * SoapHttpClientProtocol.cs: Changed the method used to check if the
854           result is a fault. Now the check is done inside 
855           WebServiceHelper.ReadSoapMessage. Removed some debug writelines.
856         * WebServiceHelper.cs: If the message body is a fault, use the fault
857           serializer.
859 2003-11-24  Lluis Sanchez Gual <lluis@ximian.com>
861         * Methods.cs, TypeStubManager.cs, SoapMessage.cs: Removed TODO comment.
862         * SoapDocumentationHandler.cs: Check that the documentation page exist.
863         * SoapHttpClientProtocol.cs: Removed cast from WebResponse to
864           HttpWebResponse. This fixes bug #51281.
866 2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
868         * HttpSoapWebServiceHandler.cs: WebException is ok here for wrong 
869         content encoding...
870         * SoapHttpClientProtocol.cs: ... but here, we should throw an
871         InvalidOperationException including the full response.
873         * WebServiceHelper.cs:
874         (GetContentEncoding): now fills an output variable with the name of the
875         content encoding used.
876         (InvalidOperation): new method to build the message for
877         InvalidOperationException.
879 2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
881         * SoapHttpClientProtocol.cs:
882         * WebServiceHelper.cs: throw a WebException instead of an Exception.
883         Fixes bug #51193.
885 2003-10-26  Miguel de Icaza  <miguel@ximian.com>
887         * WebServiceHelper.cs: Compute content type and encoding
888         correctly in the absence of extra options.
890 2003-10-22  Lluis Sanchez Gual <lluis@ximian.com>
892         * Methods.cs: Class Fault is now public, so it can be serialized.
894 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
896         * TypeStubManager.cs: Added OperationName property.
898 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
900         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs, HttpSimpleTypeStubInfo.cs,
901           HttpSoapWebServiceHandler.cs, Methods.cs, SoapHttpClientProtocol.cs,
902           TypeStubManager.cs
903           Added class LogicalTypeInfo, which contains info common to all protocols
904           through which a web service can be accessed. Also, modified the way
905           Serializers are created. Instead of creating one by one, they are now
906           created all at once. This will make serialization creation more efficient
907           when the serializer code generator is in place.
908         * SoapRpcMethodAttribute.cs: Set the correct default values for the
909           properties.
910         * WebServiceHelper.cs: Removed unused method GetServiceNamespace().
911         * XmlReturnReader.cs, XmlReturnWriter.cs: Get the namespace for the return
912           type from LogicalTypeInfo.
914 2003-10-12  Lluis Sanchez Gual <lluis@ximian.com>
916         * SoapHttpClientProtocol.cs: Replaced AsyncInfo by a new 
917           SoapWebClientAsyncResult class derived from WebClientAsyncResult.
918         * WebClientAsyncResult.cs: Removed unneeded members.
920 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
922         * SoapDocumentationHandler.cs: don't close the response stream here
923         to allow filtering.
925 2003-10-06  Lluis Sanchez Gual <lluis@ximian.com>
927         * HtmlFormParameterWriter.cs: Fixed WriteRequest().
928         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Check that 
929           HttpMethodAttribute is present in proxy's method.
930         * HttpSimpleClientProtocol.cs: Forgot to call InitializeRequest before
931           getting the request stream.
932         * UrlEncodedParameterWriter.cs: in Encode(), take into account that
933           requestEncoding can be null.
935 2003-10-04  Lluis Sanchez Gual <lluis@ximian.com>
937         * SoapDocumentationHandler.cs: Moved here the code from 
938           WebServiceHandlerFactory that generates the documentation page.
939         * WebServiceHandlerFactory.cs: Moved the code that generates the doc page
940           to SoapDocumentationHandler.cs.
941         * HttpGetClientProtocol.cs, HttpGetWebServiceHandler.cs,
942           HttpPostClientProtocol.cs, HttpPostWebServiceHandler.cs,
943           HttpSimpleWebServiceHandler.cs, HttpSoapWebServiceHandler.cs,
944           SoapHttpClientProtocol.cs: Changed parameters of GetTypeStub call.
945         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Added ProtocolName
946           property. Added check for valid parameters.
947         * HttpSimpleTypeStubInfo.cs: Define return MimeFormatter in constructor.
948         * Methods.cs: BindingInfo and related properties moved to base TypeStubInfo.
949           Added properties for XmlImporter and SoapImporter.
950         * TypeStubManager.cs: Added BindingInfo and related properties.
951           Changed GetTypeStub method. Now it takes the name of the protocol for
952           which to get the type stub info.
953         * ValueCollectionParameterReader.cs: IsSupported should only return true
954           for input primitive parameters or array of primitives.
956 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
958         * SoapDocumentationHandler.cs: it does not generate the documentation
959         page any more. GetDescription and GetSchemas are now internal.
961         * WebServiceHandlerFactory.cs: generate the documentation page without
962         doing a Transfer () but instead creating a Page instance from the wsdl
963         help file. This file is located from the configuration file that
964         contains the <wsdlHelpGenerator> tag.
966 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
968         * HtmlFormParameterReader.cs, HtmlFormParameterWriter.cs, 
969           HttpGetClientProtocol.cs, HttpPostClientProtocol.cs, 
970           HttpSimpleClientProtocol.cs, MimeFormatter.cs, MimeParameterWriter.cs,
971           NopReturnReader.cs, UrlEncodedParameterWriter.cs, UrlParameterReader.cs,
972           UrlParameterWriter.cs, ValueCollectionParameterReader.cs, 
973           WebClientAsyncResult.cs, XmlReturnReader.cs, XmlReturnWriter.cs
974           : Implemented.
975         
976         * HttpSoapWebServiceHandler.cs, SoapClientMessage.cs, SoapServerMessage.cs,
977           SoapDocumentationHandler.cs, SoapHttpClientProtocol.cs, 
978           WebServiceHelper.cs: Changed due to modifications in  TypeStubInfo.
979           
980         * Methods.cs: Moved common code to TypeStubInfo.cs.
981         * WebServiceHandler.cs: Moved invoke code to HttpSoapWebServiceHandler.cs
982         * ServerProtocol.cs, SoapServerProtocol.cs: Fixed formatting.
983         * WebServiceHandlerFactory.cs: Added support for HttpGet and HttpPost.
985 2003-09-29  Lluis Sanchez Gual  <lluis@ximian.com>
986         
987         * Methods.cs: Little fix in binding check.
988         * SoapExtension.cs: Implemented ChainStream. Changed some methods from
989           public to internal.
990         * SoapClientMessage: Implemented EnsureInStage.
991         * SoapServerMessage: Implemented EnsureInStage, EnsureOutStage.
992           
993 2003-09-28  Lluis Sanchez Gual  <lluis@ximian.com>
994         
995         * HttpSoapWebServiceHandler.cs: In SerializeResponse method, improved
996           management of exceptions. Also added support for BufferResponse flag.
997         * Methods.cs: Added MethodAttribute property in MethodStubInfo. Added
998           XmlImporter, SoapImporter and Type properties in TypeStubInfo.
999         * SoapMessage.cs: little fix.
1000         
1001 2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
1002         
1003         * SoapDocumentationHandler.cs: Added support for on-the-fly proxy
1004           code generation in documentation pages.
1006 2003-09-04  Lluis Sanchez Gual  <lluis@ximian.com>
1008         * Methods.cs: Added support for bare parameter style. Fixed some defaults.
1010 2003-09-01  Lluis Sanchez Gual  <lluis@ximian.com>
1012         * Methods.cs: In TypeStubInfo, added Documentation field.
1014 2003-07-28  Lluis Sanchez Gual  <lluis@ximian.com>
1016         * HttpSoapWebServiceHandler.cs: 
1017         * Methods.cs: Added SoapBindingStyle, SoapBindingUse, InputMembersMapping
1018           and OutputMembersMapping properties in MethodStubInfo.
1019           Use default value defined in TypeStubInfo for RequestNamespace,
1020           ResponseNamespace and other properties.
1021           Added class BindingInfo to store information about class bindings.
1022           In TypeStubInfo added SoapBindingStyle, DefaultBinding, Methods and
1023           Bindings properties.
1024         * SoapRpcMethodAttribute.cs: Use WebServiceAttribute.DefaultNamespace constant 
1025           instead of hardcoded namespace name.
1026         * WebServiceHandlerFactory.cs: Create new SoapDocumentationHandler for
1027           documentation requests.
1028         * SoapDocumentationHandler.cs: new handler that generates WS documentation.
1029         
1030 2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>
1032         * WebServiceHandler.cs: Fixed Invoke(). ParameterInfo.Position is now
1033           zero-based, like in MS.NET.
1034         
1035 2003-07-16  Lluis Sanchez Gual  <lluis@ximian.com>
1037         * SoapHttpClientProtocol.cs: Removed debug WriteLine.
1038         
1039 2003-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
1041         * HttpSoapWebServiceHandler.cs: MS puts the soap action in quotation marks??
1042           Fix for this case.
1043         * SoapHttpClientProtocol.cs: Implemented support for asynchronous calls 
1044           (BeginInvoke and EndInvoke).
1046 2003-07-09  Lluis Sanchez Gual  <lluis@ximian.com>
1048         * SoapHttpClientProtocol.cs, HttpSoapWebServiceHandler.cs, Methods.cs: 
1049           Added support for soap extensions. Moved some code to
1050           WebServiceHelper. Implemented support for the two types of RoutingStyle. Added support
1051           for In and Out headers. Improved management of exceptions.
1052         * SoapClientMessage.cs: code to retrieve soap headers moved to SoapMessage.
1053         * SoapExtension.cs: Added methods for getting and creating soap extensions.
1054         * SoapMessage.cs: Added methods for getting and assigning headers to an object.
1055         * SoapServerMessage.cs: Added setter for MethodStubInfo. Other minor fixes.
1056         * WebServiceHandler.cs: Added support for In and Out headers. Fixed management of exceptions.
1057         * WebServiceHandlerFactory.cs: Check if the request protocol is supported.
1058         * WebServiceHelper.cs: Added method for reading a soap request.
1060 2003-07-04  Lluis Sanchez Gual  <lluis@ximian.com>
1062         * LogicalMethodInfo.cs: Fixed Invoke method. If return type is void,
1063           then the result object array only contain output parameters.
1065         * Methods.cs: In class MethodStubInfo, added support from some server properties
1066           taken from WebMethodAttribute. Now MethodStubInfo can be created without SoapDocument*
1067           or SoapRpc* attributes, in which case takes default values from TypeStubInfo.
1068           Added method for getting header info.
1069           In class Fault: added constructor for creating a fault from a SoapException.
1070           In class TypeStubInfo: new way to manage serializers for headers. Now it is possible to
1071           get a header using a name and namespace (used when deserializing).
1073         * SoapHttpClientProtocol.cs: moved WriteSoapEnvelope method to WebServiceHelper (so it can be shared).
1074           Also moved other serialization stuff to WebServiceHelper.
1076         * SoapMessage.cs: Added some convenient constructors and internal properties.
1077           Implemented GetOutParameterValue and GetReturnValue.
1079         * SoapServerMessage.cs: Implemented.
1081         * WebServiceHandler.cs: Implemented method Invoke.
1083         * WebServiceHandlerFactory.cs: Basic implementation.
1085         * WebServiceHelper.cs: Added. Has some methods shared between client and server classes.
1087         * HttpSoapWebServiceHandler.cs: Added. IHttpHandler implementation for HttpSoap requests.
1089 2003-06-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1091         * HttpWebClientProtocol.cs: handle cookies if the request is a
1092         HttpWebRequest. It gets the cookies set in the response and sends them
1093         on subsequent requests.
1095         * SoapHttpClientProtocol.cs:
1096         (GetWebRequest): just calls the base method.
1097         (SendRequest): set the method here.
1098         (Invoke): call GetWebResponse instead of request.GetResponse.
1100         * WebClientProtocol.cs:
1101         (GetWebRequest): set some properties of the request.
1102         (GetWebResponse): if we get a WebException containing a response, return
1103         that as the response and ignore the exception.
1104         (GetWebResponse (req, async)): only call EndGetResponse.
1106 2003-06-14  Lluis Sanchez Gual  <lluis@ximian.com>
1108         * Methods.cs: Added information about headers in MethodStubInfo. Added cache of serializers
1109           in TypeStubInfo so serializers for headers they can be shared by several methods.
1110         * SoapClientMessage.cs: Headers added in the constructor.
1111         * SoapMessage.cs: Added header list initialization.
1112         * SoapHttpClientProtocol.cs: Added support soap headers.
1114 2003-06-13  Lluis Sanchez Gual  <lluis@ximian.com>
1116         * Methods.cs: Added serializer to MethodStubInfo for deserializing faults.
1117         * SoapHttpClientProtocol.cs: Added support for faults.
1119 2003-06-10  Lluis Sanchez Gual  <lluis@ximian.com>
1121         * Methods.cs: removed handler for UnknownNode event
1123 2003-06-05  Lluis Sanchez Gual  <lluis@ximian.com>
1125         * Methods.cs: added support for encoded format
1127 2003-06-01  Miguel de Icaza  <miguel@ximian.com>
1129         * Methods.cs (MethodStubInfo): If creating an RPC call, pass an
1130         optional XmlElementAttribute with the namespace set to null;  Use
1131         this on each element of the request and response serializers.
1133         (MakeRequestSerializer, MakeResponseSerializer): Use the empty
1134         element for the return values.
1136         * SoapRpcMethodAttribute.cs: Drop the default name on the
1137         SoapRpcMethodAttribute, it was incorrectly given a default name.
1139 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
1141         * Methods.cs (MethodStubInfo): Start support for RPC style as well
1142         as Literal style.  Take an object instead of a
1143         SoapDocumentMethodAttribute, and allow the value to be also a
1144         SoapRpcMethodAttribute.  Pull data from both.
1146         Kill SoapBindingUse, we only use this during validation.
1148         Turn out Google uses RPC/Literal, and its a good demo.
1150         (MakeResponseSerializer): OneWay is not the only
1151         condition to catch;  Also void return types are not required to
1152         have a response.
1154         (MakeRequestSerializer): InParameters *might* be ref parameters,
1155         deal with that here too.
1157         Add some debugging code for tracking down missing implementation
1158         details in serialization creation.
1160         (MakeResponseSerializer): DUH.  Use the
1161         ResponseName/ResponseNamespace for the member import, not the
1162         RequestName and RequestNamespace.  The bugs of cut-and-paste.
1164 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
1166         * SoapHttpClientProtocol.cs (CreateMessage): Kill.  Move
1167         functionality to Invoke.
1169         (Invoke): Use new TypeStubInfo/MethodStubInfo instead.
1171         * SoapClientMessage.cs: Drop old mechanism, use MethodStubInfo instead.
1173         * Methods.cs: New file.  Contains the managed for TypeStubs and
1174         MethodInfoStubs.   
1176         A MethodInfoStub contains the serializers we use for the SOAP
1177         request. 
1179         * SoapClientMessage.cs: Drop parameters from the clientmessage, it
1180         does not belong here.  Drop oneway, we canextract that from the
1181         SoapDocumentMethodAttribute class that we pass.
1183 2003-05-28  Miguel de Icaza  <miguel@ximian.com>
1185         * LogicalMethodInfo.cs (Create): Implement begin/end method
1186         pairing.
1187         (Name): Implement. 
1188         (EndMethodInfo): Always return end_method_info.
1190 2003-04-30  Miguel de Icaza  <miguel@ximian.com>
1192         * SoapHttpClientProtocol.cs: Flag the methods in the chain that
1193         gets the caller method as non-inlineable.
1195 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
1197         * SoapHttpClientProtocol.cs (CreateMessage): Extract information
1198         from the method to be called.
1200         * SoapDocumentMethodAttribute.cs: Do not initialize all the fields
1201         on the attribute at bootstrap, for default values, just compute
1202         them when queried.
1204         * SoapMessage.cs (SetStage): New internal method, used to register
1205         the stage as we move along the soap pipeline.
1207         * LogicalMethodInfo.cs: Most of this is implemented.  Its only
1208         missing a few bits in the Create() method.
1210         * SoapHttpClientProtocol.cs: Begin implementation of Invoke, which
1211         lead to other dependencies to be implemented.
1213         * LogicalMethodInfo.cs: Mostly complete.  It is only missing the
1214         async features (BeginInvoke/EndInvoke) on a LogicalMethodInfo.
1216         * WebClientProtocol.cs (GetWebRequest): Track the web request, so
1217         we can abort it later.
1218         (Abort): Call abort on the underlying transport.
1220 2002-08-24  Tim Coleman <tim@timcoleman.com>
1221         * HttpServerProtocol.cs:
1222         * WebServiceHandler.cs:
1223                 Some commented code added, from analysing 
1224                 an exception trace.
1225         * MimeReturnWriter.cs:
1226         * XmlReturnWriter.cs:
1227                 New stubs added.
1229 2002-08-23  Tim Coleman <tim@timcoleman.com>
1230         * ServerProtocol.cs:
1231         * SoapServerProtocol.cs:
1232                 More cleanup, comparison with class status.
1233         * WebServiceHandler.cs:
1234         * HttpServerProtocol.cs:
1235                 New stubs added.
1237 2002-08-15  Tim Coleman <tim@timcoleman.com>
1238         * ServerProtocol.cs:
1239         * SoapServerProtocol.cs:
1240                 Some more implementation.
1242 2002-08-06  Tim Coleman <tim@timcoleman.com>
1243         * ServerProtocol.cs:
1244                 Add new class as implied by class statuc page.
1245                 SoapServerProtocol is derived from this.
1246         * SoapServerProtocol.cs:
1247                 Change base class to ServerProtocol.  Add some
1248                 properties shown by class status page.
1249         * SoapClientMethod.cs:
1250                 This class should not be sealed.  Add some
1251                 fields shown by the class status page.
1253 2002-07-25  Tim Coleman <tim@timcoleman.com>
1254         * SoapClientMethod.cs:
1255         * SoapServerProtocol.cs:
1256                 Add new internal classes as discovered.
1257         * SoapClientMessage.cs:
1258         * SoapMessage.cs:
1259         * SoapServerMessage.cs:
1260         * WebClientAsyncResult.cs:
1261                 Add internal constructor, as found on class
1262                 status page; modify some properties.
1264 2002-07-23  Tim Coleman <tim@timcoleman.com>
1265         * SoapException.cs: modified constructors to
1266                 call base class correctly.
1267         * WebClientAsyncResult: some implementation
1269 2002-07-23  Tim Coleman <tim@timcoleman.com>
1270         * HttpGetClientProtocol.cs:
1271         * HttpPostClientProtocol.cs
1272                 Implemented the GetWebRequest method
1273         * HttpSimpleClientProtocol:
1274                 Some implementation of the EndInvoke method
1275         * HttpWebClientProtocol.cs:
1276                 Set the UserAgent string appropriately
1277                 Implemented the GetWebRequest method
1278                 Implemented the GetWebResponse methods
1279         * SoapHttpClientProtocol.cs:
1280                 Removed unused fields
1281                 Implemented the GetWebRequest method
1282         * SoapMessage.cs:
1283                 Implemented the EnsureStage method
1284         * WebClientProtocol.cs:
1285                 Added a static constructor to construct the cache
1286                 Implemented the Abort method
1287                 Implemented the AddToCache, GetFromCache methods
1288                 Implemented the GetWebRequest method
1289                 Implemented the GetWebResponse methods
1291 2002-07-23  Tim Coleman <tim@timcoleman.com>
1292         * LogicalMethodTypes.cs:
1293         * SoapHeaderDirection.cs:
1294         * SoapMessageStage.cs:
1295         * SoapParameterStyle.cs:
1296         * SoapServiceRoutingStyle.cs:
1297                 Explicitly define values in enum to match
1298                 .NET.
1299         * SoapMessage.cs: 
1300                 Removed constructor which should not be present.
1301         * SoapException.cs:
1302                 Made protected fields private as they should
1303                 be.
1304         * SoapHeaderException.cs:
1305                 Modifications to constructors to propertly
1306                 call base class constructor
1308 2002-07-22  Tim Coleman <tim@timcoleman.com>
1309         * SoapHeaderException.cs:
1310                 Fixed name error in constructor
1311         * SoapUnknownHeader.cs:
1312                 Added reference to System.Xml.Serialization
1314 2002-07-22  Tim Coleman <tim@timcoleman.com>
1315         * SoapHeaderException.cs:
1316                 New file added
1318 2002-07-22  Tim Coleman <tim@timcoleman.com>    
1319         * AnyReturnReader.cs:
1320         * HtmlFormParameterReader.cs :
1321         * HtmlFormParameterWriter.cs :
1322         * HttpGetClientProtocol.cs :
1323         * HttpMethodAttribute.cs :
1324         * HttpPostClientProtocol.cs :
1325         * HttpSimpleClientProtocol.cs :
1326         * HttpWebClientProtocol.cs :
1327         * LogicalMethodInfo.cs :
1328         * LogicalMethodTypes.cs :
1329         * MatchAttribute.cs :
1330         * MimeFormatter.cs :
1331         * MimeParameterReader.cs :
1332         * MimeParameterWriter.cs :
1333         * MimeReturnReader.cs :
1334         * NopReturnReader.cs :
1335         * PatternMatcher.cs :
1336         * SoapClientMessage.cs :
1337         * SoapDocumentMethodAttribute.cs :
1338         * SoapDocumentServiceAttribute.cs :
1339         * SoapException.cs :
1340         * SoapExtension.cs :
1341         * SoapExtensionAttribute.cs :
1342         * SoapHeader.cs :
1343         * SoapHeaderAttribute.cs :
1344         * SoapHeaderCollection.cs :
1345         * SoapHeaderDirection.cs :
1346         * SoapHttpClientProtocol.cs :
1347         * SoapMessage.cs :
1348         * SoapMessageStage.cs :
1349         * SoapParameterStyle.cs :
1350         * SoapRpcMethodAttribute.cs :
1351         * SoapRpcServiceAttribute.cs :
1352         * SoapServerMessage.cs :
1353         * SoapServiceRoutingStyle.cs :
1354         * SoapUnknownHeader.cs :
1355         * TextReturnReader.cs :
1356         * UrlEncodedParameterWriter.cs :
1357         * UrlParameterReader.cs :
1358         * UrlParameterWriter.cs :
1359         * ValueCollectionParameterReader.cs :
1360         * WebClientAsyncResult.cs :
1361         * WebClientProtocol.cs :
1362         * WebServiceHandlerFactory.cs :
1363         * XmlReturnReader.cs :
1364                 Add missing methods and attributes to make as few missing
1365                 things as possible in this namespace.  This is from the
1366                 project status page.
1368 2002-07-20 Tim Coleman  <tim@timcoleman.com>
1369        * AnyReturnReader.cs:
1370        * HtmlFormParameterReader.cs:
1371        * HtmlFormParameterWriter.cs:
1372        * HttpGetClientProtocol.cs:
1373        * HttpMethodAttribute.cs:
1374        * HttpPostClientProtocol.cs:
1375        * HttpSimpleClientProtocol.cs:
1376        * HttpWebClientProtocol.cs:
1377        * MatchAttribute.cs:
1378        * MimeFormatter.cs:
1379        * MimeParameterReader.cs:
1380        * MimeParameterWriter.cs:
1381        * MimeReturnReader.cs:
1382        * NopReturnReader.cs:
1383        * PatternMatcher.cs:
1384        * SoapClientMessage.cs:
1385        * SoapDocumentMethodAttribute.cs:
1386        * SoapDocumentServiceAttribute.cs:
1387        * SoapException.cs:
1388        * SoapExtensionAttribute.cs:
1389        * SoapExtension.cs:
1390        * SoapHeaderAttribute.cs:
1391        * SoapHeaderCollection.cs:
1392        * SoapHeader.cs:
1393        * SoapHeaderDirection.cs:
1394        * SoapHttpClientProtocol.cs:
1395        * SoapMessage.cs:
1396        * SoapMessageStage.cs:
1397        * SoapParameterStyle.cs:
1398        * SoapRpcMethodAttribute.cs:
1399        * SoapRpcServiceAttribute.cs:
1400        * SoapServerMessage.cs:
1401        * SoapServiceRoutingStyle.cs:
1402        * SoapUnknownHeader.cs:
1403        * TextReturnReader.cs:
1404        * UrlEncodedParameterWriter.cs:
1405        * UrlParameterReader.cs:
1406        * UrlParameterWriter.cs:
1407        * ValueCollectionParameterReader.cs:
1408        * WebClientAsyncResult.cs:
1409        * WebClientProtocol.cs:
1410        * WebServiceHandlerFactory.cs:
1411        * XmlReturnReader.cs:
1412                Added new stubbs and some implementation
1413        * LogicalMethodTypes.cs:
1414                Added [Serializable] attribute which was missing.
1416 2002-07-19 Tim Coleman  <tim@timcoleman.com>
1417         * ChangeLog:
1418         * LogicalMethodInfo.cs:
1419         * LogicalMethodTypes.cs:
1420                 Add required classes to maek System.Web.Services.Description
1421                 buildable.