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