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