2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Protocols / ChangeLog
1 2004-12-09  Lluis Sanchez Gual <lluis@novell.com> 
2
3         * ValueCollectionParameterReader.cs: Parse parameters in the correct
4         way, Convert.ChangeType is not enough. This fixes bug #70266.
5         Removed some types that are not supported as parameters.
6         * MimeFormatter.cs: Added methods for xml <-> object conversion.
7         * UrlEncodedParameterWriter.cs: Use a more elaborate method for converting
8         from object to string, ToString() is not enough.
9
10 2004-12-09  Lluis Sanchez Gual <lluis@novell.com>
11
12         * TypeStubManager.cs: Removed redundat hastable access.
13         * SoapHttpClientProtocol.cs: Accept responses with ContentLength==0.
14         This fixes bug #70310.
15
16 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
17
18         * SoapHttpClientProtocol.cs: dispose the StreamReader that wraps the
19         response stream.
20
21 2004-09-15  Lluis Sanchez Gual <lluis@novell.com>
22
23         * Methods.cs: Use the service namespace as the base for the soap action.
24           This fixes bug #60379.
25
26 2004-08-25  Lluis Sanchez Gual <lluis@novell.com>
27
28         * HttpSoapWebServiceHandler.cs, WebServiceHandler.cs: Do not assign the
29           context to the service. It already gets it from HttpContext.Current.
30
31 2004-07-27  Lluis Sanchez Gual  <lluis@ximian.com>
32
33         * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs, 
34           SoapHttpClientProtocol.cs: Implemented support for the new async model.
35         * InvokeCompletedEventArgs.cs: Implemented.
36
37 2004-07-20  Lluis Sanchez Gual  <lluis@ximian.com>
38
39         * HttpWebClientProtocol.cs: Add received cookies to cookieContainer when
40           getting the response, do not wait for the next request to do it.
41
42 2004-07-13  Lluis Sanchez Gual  <lluis@ximian.com>
43
44         * HttpWebClientProtocol.cs, Soap12FaultCodes.cs, SoapClientMessage.cs,
45           SoapException.cs, SoapHeader.cs, SoapHeaderException.cs, 
46           SoapHttpClientProtocol.cs, SoapMessage.cs, SoapRpcMethodAttribute.cs,
47           SoapRpcServiceAttribute.cs, SoapServerMessage.cs: Api fixage (mainly
48           missing attributes).
49
50 2004-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
51
52         * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs, 
53           SoapClientMessage.cs, SoapHttpClientProtocol.cs, SoapServerMessage.cs:
54           Added 2.0 stubs.
55         * SoapException.cs, SoapHeader.cs, SoapHeaderException.cs, SoapMessage.cs,
56           SoapRpcMethodAttribute.cs, SoapRpcServiceAttribute.cs: Implemented some
57           new methods and properties.
58         * WebClientProtocol.cs: uri field must be internal.
59
60 2004-07-05  Lluis Sanchez Gual  <lluis@ximian.com>
61
62         * Methods.cs: When using RPC, ignore RequestElementName and MessageName, 
63           and always uses the method name (MS.NET seems to do this).
64
65 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
66
67         * XmlReturnWriter.cs: Add XmlIncludes to the reflection importer when
68           reflecting the return type.
69
70 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
71
72         * Methods.cs: Check for null when looking for a header serializer, since
73           unknown headers don't have a serializer.
74         * SoapHeader.cs: Check for empty string before setting 
75           EncodedMustUnderstand.
76
77 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
78
79         * Methods.cs, SoapMessage.cs: Added support for unknown headers.
80         * SoapHeader.cs, SoapUnknownHeader.cs: Added new constructor that takes an
81           XmlElement with header info.
82         * WebServiceHelper.cs: Write the encodingStyle attribute when using the
83           encoded format. Added support for unknown headers.
84
85 2004-06-22  Lluis Sanchez Gual  <lluis@ximian.com>
86
87         * XmlReturnReader.cs, XmlReturnWriter.cs: Generate the serializer with
88           the root attribute taken from the method attributes.
89
90 2004-06-10  Lluis Sanchez Gual  <lluis@ximian.com>
91
92         * TypeStubManager.cs: Improved locking in GetLogicalTypeInfo().
93         * WebServiceHandler.cs: Removed unneded methods.
94
95 2004-06-02  Lluis Sanchez Gual  <lluis@ximian.com>
96
97         * LogicalMethodInfo.cs: Don't crash in GetCustomAttribute if the requested
98           attribute is not found.
99
100 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
101
102         * HttpSoapWebServiceHandler.cs: Removed unused variables.
103         * SoapHeaderAttribute.cs: Added Obsolete attribute.
104
105 2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
106
107         * SoapClientMessage.cs: Get the MethodInfo from the corresponding
108           SoapMethodStubInfo.
109
110 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
111
112         * SoapHttpClientProtocol.cs: when the response has a not acceptable
113         status code, the WebException we throw has a status of ProtocolError.
114         Fixes bug #58564.
115
116 2004-05-12  Lluis Sanchez Gual  <lluis@ximian.com>
117
118         * LogicalMethodInfo.cs: Made EnableSession property internal.
119
120 2004-05-12  Lluis Sanchez Gual  <lluis@ximian.com>
121
122         * HttpSimpleWebServiceHandler.cs: Added GetRequestMethod(), which is used
123           by the handler factory to check if the target method needs session or not.
124           Also factorized error handling in WriteError().
125         * HttpSoapWebServiceHandler.cs: Added GetRequestMethod(), for the same 
126           reason. Assign the context to the WebService just before invoking the
127           method.
128         * SoapHttpClientProtocol.cs: Use helper method to create the xml writer.
129         * WebServiceHandler.cs: Added virtual GetRequestMethod().
130         * WebServiceHandlerFactory.cs: Use an http handler wrapper when the target
131           method requires session support.
132         * WebServiceHelper.cs: Added some helper methods.
133
134 2004-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
135
136         * SoapDocumentationHandler.cs: added internal property to get the page
137         handler when available.
138
139         * WebServiceHandlerFactory.cs: wrap the documentation handler in a class
140         that implements IRequiresSessionState and, if requested,
141         IReadOnlySessionState, so that we can use Sesion object in the default
142         WSDL help generator.
143
144 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
145
146         * HttpSoapWebServiceHandler.cs: finish the request after serializing
147         the fault message.
148
149 2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
150
151         * HttpGetWebServiceHandler.cs:
152         * HttpPostWebServiceHandler.cs: removed.
153
154         * HttpSimpleWebServiceHandler.cs: changed ctor parameters and added
155         EnableSession property.
156
157         * WebServiceHandler.cs: added EnableSession virtual property.
158
159         * WebServiceHandlerFactory.cs: added a new handler that implements
160         IRequiresSessionState used for HttpGet and HttpPost.
161         (GetHandler): for HttpGet and HttpPost check if the method requires to
162         have a Session object and use the new SimpleSyncSessionHandler in that
163         case.
164
165         Still missing proper session handler for SOAP requests.
166
167 2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
168
169         * HttpSimpleWebServiceHandler.cs:
170         * HttpSoapWebServiceHandler.cs: use the session if the method has
171         EnableSession set.
172
173         * LogicalMethodInfo.cs: added EnableSession property.
174
175         * WebServiceHandler.cs: set the Session object of the WebService.
176
177 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
178
179         * WebServiceHelper.cs: In GetContentEncoding, chop off the single & double
180           quotes around the encoding name. Patch by George Kodinov. This fixes
181           bug #55806.
182
183 2004-03-10  Lluis Sanchez Gual  <lluis@ximian.com>
184
185         * HttpSoapWebServiceHandler.cs: Set the properties ContentType and 
186           ContentEncoding in SoapServerMessage.
187         * LogicalMethodInfo.cs: Implemented AsyncResultParameter, BeginInvoke and
188           EndInvoke. Fixed ComputeParameters, so it computes the correct parameters
189           for async logical methods.
190         * Methods.cs: Check that client proxies have one and only one 
191           WebServiceBindingAttribute.
192         * PatternMatcher.cs: Implemented (in fact, just moved code from 
193           TextReturnReader.cs)
194         * SoapDocumentationHandler.cs: Add soap bindings in the generated
195           discovery document.
196         * SoapHttpClientProtocol.cs: Implemented method Discover().
197         * SoapMessage.cs: Implemented property ContentEncoding.
198         * TextReturnReader.cs: Moved code to PatternMatcher.cs.
199         
200 2004-02-27  Lluis Sanchez Gual  <lluis@ximian.com>
201
202         * Fault.cs: Moved Fault class from Methods.cd to this file. It also includes
203           a generated serializer.
204         * HttpSoapWebServiceHandler.cs, WebServiceHelper.cs: Use the new static Fault serializer.
205         * Methods.cs: Include types declared with XmlInclude and SoapInclude to the
206           reflection importer. Moved Fault and its serializer to Fault.cs
207         * SoapHttpClientProtocol.cs: Removed unused method.
208
209 2004-02-12  Lluis Sanchez Gual <lluis@ximian.com>
210
211         * WebServiceHelper.cs: When reading a soap request, skip empty headers. 
212           This fixes bug #51846.
213
214 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
215
216         * WebServiceHandler.cs: inheritance from WebService is not mandatory.
217
218 2004-02-05  Alon Gazit <along@mainsoft.com>
219
220        * HttpMethodAttribute.cs:
221        * MatchAttribute.cs:
222        * SoapDocumentMethodAttribute.cs:
223        * SoapDocumentServiceAttribute.cs:
224        * SoapHeaderAttribute.cs:
225        * SoapRpcMethodAttribute.cs:
226        * SoapRpcServiceAttribute.cs: This attribute is inherited by
227                 derived classes.changed the AttributeUsage attribute.
228
229 2004-02-05  Alon Gazit <along@mainsoft.com>
230
231         * SoapHeaderAttribute.cs: This attribute is multiuse.
232         Changed the AttributeUsage attribute.
233
234 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
235
236         * SoapDocumentMethodAttribute.cs: Fixed bug in ResponseNamespace.
237
238 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
239
240         * HttpWebClientProtocol.cs: Added missing property.
241         * Methods.cs: Default binding for a method must be null.
242         * SoapHeaderDirection.cs: Added missing enum value.
243         * SoapMessage.cs: Added missing property.
244         * TypeStubManager.cs: Removed unneded check from AddBinding.
245           In GetBinding(), return default binding if name is null.
246         * ValueCollectionParameterReader.cs: IsPrimitive must be internal.
247
248 2004-01-21  Lluis Sanchez Gual <lluis@ximian.com>
249
250         * HttpSoapWebServiceHandler.cs, SoapHttpClientProtocol.cs: Do not use 
251           indented format for requests and responses. SOAPAction header value
252           must be quoted (fix by Yaacov Akiba Slama).
253         
254 2004-01-21  Lluis Sanchez Gual <lluis@ximian.com>
255
256         * Methods.cs: Set the correct namespaces for Fault. This fixes bug #53117.
257           Based on the fix by Eran Domb.
258
259 2004-01-19  Lluis Sanchez Gual <lluis@ximian.com>
260
261         * Methods.cs: Get the method namespace from the binding, not from the web
262         service.
263         * TypeStubManager.cs: When adding a binding, ignore it if it has already
264         been added. Changed WebServiceLiteralNamespace by the method
265         GetWebServiceLiteralNamespace. The literal namespace depends on the binding
266         namespace, so it has to be provided as parameter.
267         * XmlReturnReader.cs, XmlReturnWriter.cs: Use GetWebServiceLiteralNamespace 
268         instead of WebServiceLiteralNamespace.
269
270 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
271
272         * Methods.cs: Set the correct element name and namespace for headers (those
273         are not managed like other data classes).
274
275 2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
276
277         * HttpSoapWebServiceHandler.cs:
278         * HttpSimpleWebServiceHandler.cs: set
279         base.Context property.
280
281         * WebServiceHandler.cs: added set_Context and set the context for the
282         WebService when creating the instance.
283
284 2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
285
286         * SoapDocumentationHandler.cs: Added support for DISCO file generation.
287
288 2003-12-16  Lluis Sanchez Gual <lluis@ximian.com>
289
290         * HttpSimpleClientProtocol.cs: Do not encode the request url, since it is
291           already encoded by the MimeParameterWriter.
292         * MatchAttribute.cs: Set default value for Group to 1.
293         * TextReturnReader.cs: Implemented. With this it is possible to create an
294           XML web service that parse the contents of a web page.
295
296 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
297
298         * HttpSoapWebServiceHandler.cs: Added check for valid SOAPAction header.
299           Fixed bug when routing style is RequestElement.
300           Removed GetMethodFromAction. This is done now in the type stub.
301           Other minor fixes.
302         * Methods.cs, WebServiceHelper.cs: Faults are always serialized using 
303           literal format. Removed unneded code.
304         
305 2003-12-12  Lluis Sanchez Gual <lluis@ximian.com>
306
307         * Methods.cs: Added special handling for RPC format.
308         
309 2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
310
311         * Methods.cs: Added correct namespace for serialization in Fault class.
312         * SoapHttpClientProtocol.cs: Changed the method used to check if the
313           result is a fault. Now the check is done inside 
314           WebServiceHelper.ReadSoapMessage. Removed some debug writelines.
315         * WebServiceHelper.cs: If the message body is a fault, use the fault
316           serializer.
317
318 2003-11-24  Lluis Sanchez Gual <lluis@ximian.com>
319
320         * Methods.cs, TypeStubManager.cs, SoapMessage.cs: Removed TODO comment.
321         * SoapDocumentationHandler.cs: Check that the documentation page exist.
322         * SoapHttpClientProtocol.cs: Removed cast from WebResponse to
323           HttpWebResponse. This fixes bug #51281.
324
325 2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
326
327         * HttpSoapWebServiceHandler.cs: WebException is ok here for wrong 
328         content encoding...
329         * SoapHttpClientProtocol.cs: ... but here, we should throw an
330         InvalidOperationException including the full response.
331
332         * WebServiceHelper.cs:
333         (GetContentEncoding): now fills an output variable with the name of the
334         content encoding used.
335         (InvalidOperation): new method to build the message for
336         InvalidOperationException.
337
338 2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
339
340         * SoapHttpClientProtocol.cs:
341         * WebServiceHelper.cs: throw a WebException instead of an Exception.
342         Fixes bug #51193.
343
344 2003-10-26  Miguel de Icaza  <miguel@ximian.com>
345
346         * WebServiceHelper.cs: Compute content type and encoding
347         correctly in the absence of extra options.
348
349 2003-10-22  Lluis Sanchez Gual <lluis@ximian.com>
350
351         * Methods.cs: Class Fault is now public, so it can be serialized.
352
353 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
354
355         * TypeStubManager.cs: Added OperationName property.
356
357 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
358
359         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs, HttpSimpleTypeStubInfo.cs,
360           HttpSoapWebServiceHandler.cs, Methods.cs, SoapHttpClientProtocol.cs,
361           TypeStubManager.cs
362           Added class LogicalTypeInfo, which contains info common to all protocols
363           through which a web service can be accessed. Also, modified the way
364           Serializers are created. Instead of creating one by one, they are now
365           created all at once. This will make serialization creation more efficient
366           when the serializer code generator is in place.
367         * SoapRpcMethodAttribute.cs: Set the correct default values for the
368           properties.
369         * WebServiceHelper.cs: Removed unused method GetServiceNamespace().
370         * XmlReturnReader.cs, XmlReturnWriter.cs: Get the namespace for the return
371           type from LogicalTypeInfo.
372
373 2003-10-12  Lluis Sanchez Gual <lluis@ximian.com>
374
375         * SoapHttpClientProtocol.cs: Replaced AsyncInfo by a new 
376           SoapWebClientAsyncResult class derived from WebClientAsyncResult.
377         * WebClientAsyncResult.cs: Removed unneeded members.
378
379 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
380
381         * SoapDocumentationHandler.cs: don't close the response stream here
382         to allow filtering.
383
384 2003-10-06  Lluis Sanchez Gual <lluis@ximian.com>
385
386         * HtmlFormParameterWriter.cs: Fixed WriteRequest().
387         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Check that 
388           HttpMethodAttribute is present in proxy's method.
389         * HttpSimpleClientProtocol.cs: Forgot to call InitializeRequest before
390           getting the request stream.
391         * UrlEncodedParameterWriter.cs: in Encode(), take into account that
392           requestEncoding can be null.
393
394 2003-10-04  Lluis Sanchez Gual <lluis@ximian.com>
395
396         * SoapDocumentationHandler.cs: Moved here the code from 
397           WebServiceHandlerFactory that generates the documentation page.
398         * WebServiceHandlerFactory.cs: Moved the code that generates the doc page
399           to SoapDocumentationHandler.cs.
400         * HttpGetClientProtocol.cs, HttpGetWebServiceHandler.cs,
401           HttpPostClientProtocol.cs, HttpPostWebServiceHandler.cs,
402           HttpSimpleWebServiceHandler.cs, HttpSoapWebServiceHandler.cs,
403           SoapHttpClientProtocol.cs: Changed parameters of GetTypeStub call.
404         * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Added ProtocolName
405           property. Added check for valid parameters.
406         * HttpSimpleTypeStubInfo.cs: Define return MimeFormatter in constructor.
407         * Methods.cs: BindingInfo and related properties moved to base TypeStubInfo.
408           Added properties for XmlImporter and SoapImporter.
409         * TypeStubManager.cs: Added BindingInfo and related properties.
410           Changed GetTypeStub method. Now it takes the name of the protocol for
411           which to get the type stub info.
412         * ValueCollectionParameterReader.cs: IsSupported should only return true
413           for input primitive parameters or array of primitives.
414
415 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
416
417         * SoapDocumentationHandler.cs: it does not generate the documentation
418         page any more. GetDescription and GetSchemas are now internal.
419
420         * WebServiceHandlerFactory.cs: generate the documentation page without
421         doing a Transfer () but instead creating a Page instance from the wsdl
422         help file. This file is located from the configuration file that
423         contains the <wsdlHelpGenerator> tag.
424
425 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
426
427         * HtmlFormParameterReader.cs, HtmlFormParameterWriter.cs, 
428           HttpGetClientProtocol.cs, HttpPostClientProtocol.cs, 
429           HttpSimpleClientProtocol.cs, MimeFormatter.cs, MimeParameterWriter.cs,
430           NopReturnReader.cs, UrlEncodedParameterWriter.cs, UrlParameterReader.cs,
431           UrlParameterWriter.cs, ValueCollectionParameterReader.cs, 
432           WebClientAsyncResult.cs, XmlReturnReader.cs, XmlReturnWriter.cs
433           : Implemented.
434         
435         * HttpSoapWebServiceHandler.cs, SoapClientMessage.cs, SoapServerMessage.cs,
436           SoapDocumentationHandler.cs, SoapHttpClientProtocol.cs, 
437           WebServiceHelper.cs: Changed due to modifications in  TypeStubInfo.
438           
439         * Methods.cs: Moved common code to TypeStubInfo.cs.
440         * WebServiceHandler.cs: Moved invoke code to HttpSoapWebServiceHandler.cs
441         * ServerProtocol.cs, SoapServerProtocol.cs: Fixed formatting.
442         * WebServiceHandlerFactory.cs: Added support for HttpGet and HttpPost.
443
444 2003-09-29  Lluis Sanchez Gual  <lluis@ximian.com>
445         
446         * Methods.cs: Little fix in binding check.
447         * SoapExtension.cs: Implemented ChainStream. Changed some methods from
448           public to internal.
449         * SoapClientMessage: Implemented EnsureInStage.
450         * SoapServerMessage: Implemented EnsureInStage, EnsureOutStage.
451           
452 2003-09-28  Lluis Sanchez Gual  <lluis@ximian.com>
453         
454         * HttpSoapWebServiceHandler.cs: In SerializeResponse method, improved
455           management of exceptions. Also added support for BufferResponse flag.
456         * Methods.cs: Added MethodAttribute property in MethodStubInfo. Added
457           XmlImporter, SoapImporter and Type properties in TypeStubInfo.
458         * SoapMessage.cs: little fix.
459         
460 2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
461         
462         * SoapDocumentationHandler.cs: Added support for on-the-fly proxy
463           code generation in documentation pages.
464
465 2003-09-04  Lluis Sanchez Gual  <lluis@ximian.com>
466
467         * Methods.cs: Added support for bare parameter style. Fixed some defaults.
468
469 2003-09-01  Lluis Sanchez Gual  <lluis@ximian.com>
470
471         * Methods.cs: In TypeStubInfo, added Documentation field.
472
473 2003-07-28  Lluis Sanchez Gual  <lluis@ximian.com>
474
475         * HttpSoapWebServiceHandler.cs: 
476         * Methods.cs: Added SoapBindingStyle, SoapBindingUse, InputMembersMapping
477           and OutputMembersMapping properties in MethodStubInfo.
478           Use default value defined in TypeStubInfo for RequestNamespace,
479           ResponseNamespace and other properties.
480           Added class BindingInfo to store information about class bindings.
481           In TypeStubInfo added SoapBindingStyle, DefaultBinding, Methods and
482           Bindings properties.
483         * SoapRpcMethodAttribute.cs: Use WebServiceAttribute.DefaultNamespace constant 
484           instead of hardcoded namespace name.
485         * WebServiceHandlerFactory.cs: Create new SoapDocumentationHandler for
486           documentation requests.
487         * SoapDocumentationHandler.cs: new handler that generates WS documentation.
488         
489 2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>
490
491         * WebServiceHandler.cs: Fixed Invoke(). ParameterInfo.Position is now
492           zero-based, like in MS.NET.
493         
494 2003-07-16  Lluis Sanchez Gual  <lluis@ximian.com>
495
496         * SoapHttpClientProtocol.cs: Removed debug WriteLine.
497         
498 2003-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
499
500         * HttpSoapWebServiceHandler.cs: MS puts the soap action in quotation marks??
501           Fix for this case.
502         * SoapHttpClientProtocol.cs: Implemented support for asynchronous calls 
503           (BeginInvoke and EndInvoke).
504
505 2003-07-09  Lluis Sanchez Gual  <lluis@ximian.com>
506
507         * SoapHttpClientProtocol.cs, HttpSoapWebServiceHandler.cs, Methods.cs: 
508           Added support for soap extensions. Moved some code to
509           WebServiceHelper. Implemented support for the two types of RoutingStyle. Added support
510           for In and Out headers. Improved management of exceptions.
511         * SoapClientMessage.cs: code to retrieve soap headers moved to SoapMessage.
512         * SoapExtension.cs: Added methods for getting and creating soap extensions.
513         * SoapMessage.cs: Added methods for getting and assigning headers to an object.
514         * SoapServerMessage.cs: Added setter for MethodStubInfo. Other minor fixes.
515         * WebServiceHandler.cs: Added support for In and Out headers. Fixed management of exceptions.
516         * WebServiceHandlerFactory.cs: Check if the request protocol is supported.
517         * WebServiceHelper.cs: Added method for reading a soap request.
518
519 2003-07-04  Lluis Sanchez Gual  <lluis@ximian.com>
520
521         * LogicalMethodInfo.cs: Fixed Invoke method. If return type is void,
522           then the result object array only contain output parameters.
523
524         * Methods.cs: In class MethodStubInfo, added support from some server properties
525           taken from WebMethodAttribute. Now MethodStubInfo can be created without SoapDocument*
526           or SoapRpc* attributes, in which case takes default values from TypeStubInfo.
527           Added method for getting header info.
528           In class Fault: added constructor for creating a fault from a SoapException.
529           In class TypeStubInfo: new way to manage serializers for headers. Now it is possible to
530           get a header using a name and namespace (used when deserializing).
531
532         * SoapHttpClientProtocol.cs: moved WriteSoapEnvelope method to WebServiceHelper (so it can be shared).
533           Also moved other serialization stuff to WebServiceHelper.
534
535         * SoapMessage.cs: Added some convenient constructors and internal properties.
536           Implemented GetOutParameterValue and GetReturnValue.
537
538         * SoapServerMessage.cs: Implemented.
539
540         * WebServiceHandler.cs: Implemented method Invoke.
541
542         * WebServiceHandlerFactory.cs: Basic implementation.
543
544         * WebServiceHelper.cs: Added. Has some methods shared between client and server classes.
545
546         * HttpSoapWebServiceHandler.cs: Added. IHttpHandler implementation for HttpSoap requests.
547
548 2003-06-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
549
550         * HttpWebClientProtocol.cs: handle cookies if the request is a
551         HttpWebRequest. It gets the cookies set in the response and sends them
552         on subsequent requests.
553
554         * SoapHttpClientProtocol.cs:
555         (GetWebRequest): just calls the base method.
556         (SendRequest): set the method here.
557         (Invoke): call GetWebResponse instead of request.GetResponse.
558
559         * WebClientProtocol.cs:
560         (GetWebRequest): set some properties of the request.
561         (GetWebResponse): if we get a WebException containing a response, return
562         that as the response and ignore the exception.
563         (GetWebResponse (req, async)): only call EndGetResponse.
564
565 2003-06-14  Lluis Sanchez Gual  <lluis@ximian.com>
566
567         * Methods.cs: Added information about headers in MethodStubInfo. Added cache of serializers
568           in TypeStubInfo so serializers for headers they can be shared by several methods.
569         * SoapClientMessage.cs: Headers added in the constructor.
570         * SoapMessage.cs: Added header list initialization.
571         * SoapHttpClientProtocol.cs: Added support soap headers.
572
573 2003-06-13  Lluis Sanchez Gual  <lluis@ximian.com>
574
575         * Methods.cs: Added serializer to MethodStubInfo for deserializing faults.
576         * SoapHttpClientProtocol.cs: Added support for faults.
577
578 2003-06-10  Lluis Sanchez Gual  <lluis@ximian.com>
579
580         * Methods.cs: removed handler for UnknownNode event
581
582 2003-06-05  Lluis Sanchez Gual  <lluis@ximian.com>
583
584         * Methods.cs: added support for encoded format
585
586 2003-06-01  Miguel de Icaza  <miguel@ximian.com>
587
588         * Methods.cs (MethodStubInfo): If creating an RPC call, pass an
589         optional XmlElementAttribute with the namespace set to null;  Use
590         this on each element of the request and response serializers.
591
592         (MakeRequestSerializer, MakeResponseSerializer): Use the empty
593         element for the return values.
594
595         * SoapRpcMethodAttribute.cs: Drop the default name on the
596         SoapRpcMethodAttribute, it was incorrectly given a default name.
597
598 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
599
600         * Methods.cs (MethodStubInfo): Start support for RPC style as well
601         as Literal style.  Take an object instead of a
602         SoapDocumentMethodAttribute, and allow the value to be also a
603         SoapRpcMethodAttribute.  Pull data from both.
604
605         Kill SoapBindingUse, we only use this during validation.
606
607         Turn out Google uses RPC/Literal, and its a good demo.
608
609         (MakeResponseSerializer): OneWay is not the only
610         condition to catch;  Also void return types are not required to
611         have a response.
612
613         (MakeRequestSerializer): InParameters *might* be ref parameters,
614         deal with that here too.
615
616         Add some debugging code for tracking down missing implementation
617         details in serialization creation.
618
619         (MakeResponseSerializer): DUH.  Use the
620         ResponseName/ResponseNamespace for the member import, not the
621         RequestName and RequestNamespace.  The bugs of cut-and-paste.
622
623 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
624
625         * SoapHttpClientProtocol.cs (CreateMessage): Kill.  Move
626         functionality to Invoke.
627
628         (Invoke): Use new TypeStubInfo/MethodStubInfo instead.
629
630         * SoapClientMessage.cs: Drop old mechanism, use MethodStubInfo instead.
631
632         * Methods.cs: New file.  Contains the managed for TypeStubs and
633         MethodInfoStubs.   
634
635         A MethodInfoStub contains the serializers we use for the SOAP
636         request. 
637
638         * SoapClientMessage.cs: Drop parameters from the clientmessage, it
639         does not belong here.  Drop oneway, we canextract that from the
640         SoapDocumentMethodAttribute class that we pass.
641
642 2003-05-28  Miguel de Icaza  <miguel@ximian.com>
643
644         * LogicalMethodInfo.cs (Create): Implement begin/end method
645         pairing.
646         (Name): Implement. 
647         (EndMethodInfo): Always return end_method_info.
648
649 2003-04-30  Miguel de Icaza  <miguel@ximian.com>
650
651         * SoapHttpClientProtocol.cs: Flag the methods in the chain that
652         gets the caller method as non-inlineable.
653
654 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
655
656         * SoapHttpClientProtocol.cs (CreateMessage): Extract information
657         from the method to be called.
658
659         * SoapDocumentMethodAttribute.cs: Do not initialize all the fields
660         on the attribute at bootstrap, for default values, just compute
661         them when queried.
662
663         * SoapMessage.cs (SetStage): New internal method, used to register
664         the stage as we move along the soap pipeline.
665
666         * LogicalMethodInfo.cs: Most of this is implemented.  Its only
667         missing a few bits in the Create() method.
668
669         * SoapHttpClientProtocol.cs: Begin implementation of Invoke, which
670         lead to other dependencies to be implemented.
671
672         * LogicalMethodInfo.cs: Mostly complete.  It is only missing the
673         async features (BeginInvoke/EndInvoke) on a LogicalMethodInfo.
674
675         * WebClientProtocol.cs (GetWebRequest): Track the web request, so
676         we can abort it later.
677         (Abort): Call abort on the underlying transport.
678
679 2002-08-24  Tim Coleman <tim@timcoleman.com>
680         * HttpServerProtocol.cs:
681         * WebServiceHandler.cs:
682                 Some commented code added, from analysing 
683                 an exception trace.
684         * MimeReturnWriter.cs:
685         * XmlReturnWriter.cs:
686                 New stubs added.
687
688 2002-08-23  Tim Coleman <tim@timcoleman.com>
689         * ServerProtocol.cs:
690         * SoapServerProtocol.cs:
691                 More cleanup, comparison with class status.
692         * WebServiceHandler.cs:
693         * HttpServerProtocol.cs:
694                 New stubs added.
695
696 2002-08-15  Tim Coleman <tim@timcoleman.com>
697         * ServerProtocol.cs:
698         * SoapServerProtocol.cs:
699                 Some more implementation.
700
701 2002-08-06  Tim Coleman <tim@timcoleman.com>
702         * ServerProtocol.cs:
703                 Add new class as implied by class statuc page.
704                 SoapServerProtocol is derived from this.
705         * SoapServerProtocol.cs:
706                 Change base class to ServerProtocol.  Add some
707                 properties shown by class status page.
708         * SoapClientMethod.cs:
709                 This class should not be sealed.  Add some
710                 fields shown by the class status page.
711
712 2002-07-25  Tim Coleman <tim@timcoleman.com>
713         * SoapClientMethod.cs:
714         * SoapServerProtocol.cs:
715                 Add new internal classes as discovered.
716         * SoapClientMessage.cs:
717         * SoapMessage.cs:
718         * SoapServerMessage.cs:
719         * WebClientAsyncResult.cs:
720                 Add internal constructor, as found on class
721                 status page; modify some properties.
722
723 2002-07-23  Tim Coleman <tim@timcoleman.com>
724         * SoapException.cs: modified constructors to
725                 call base class correctly.
726         * WebClientAsyncResult: some implementation
727
728 2002-07-23  Tim Coleman <tim@timcoleman.com>
729         * HttpGetClientProtocol.cs:
730         * HttpPostClientProtocol.cs
731                 Implemented the GetWebRequest method
732         * HttpSimpleClientProtocol:
733                 Some implementation of the EndInvoke method
734         * HttpWebClientProtocol.cs:
735                 Set the UserAgent string appropriately
736                 Implemented the GetWebRequest method
737                 Implemented the GetWebResponse methods
738         * SoapHttpClientProtocol.cs:
739                 Removed unused fields
740                 Implemented the GetWebRequest method
741         * SoapMessage.cs:
742                 Implemented the EnsureStage method
743         * WebClientProtocol.cs:
744                 Added a static constructor to construct the cache
745                 Implemented the Abort method
746                 Implemented the AddToCache, GetFromCache methods
747                 Implemented the GetWebRequest method
748                 Implemented the GetWebResponse methods
749
750 2002-07-23  Tim Coleman <tim@timcoleman.com>
751         * LogicalMethodTypes.cs:
752         * SoapHeaderDirection.cs:
753         * SoapMessageStage.cs:
754         * SoapParameterStyle.cs:
755         * SoapServiceRoutingStyle.cs:
756                 Explicitly define values in enum to match
757                 .NET.
758         * SoapMessage.cs: 
759                 Removed constructor which should not be present.
760         * SoapException.cs:
761                 Made protected fields private as they should
762                 be.
763         * SoapHeaderException.cs:
764                 Modifications to constructors to propertly
765                 call base class constructor
766
767 2002-07-22  Tim Coleman <tim@timcoleman.com>
768         * SoapHeaderException.cs:
769                 Fixed name error in constructor
770         * SoapUnknownHeader.cs:
771                 Added reference to System.Xml.Serialization
772
773 2002-07-22  Tim Coleman <tim@timcoleman.com>
774         * SoapHeaderException.cs:
775                 New file added
776
777 2002-07-22  Tim Coleman <tim@timcoleman.com>    
778         * AnyReturnReader.cs:
779         * HtmlFormParameterReader.cs :
780         * HtmlFormParameterWriter.cs :
781         * HttpGetClientProtocol.cs :
782         * HttpMethodAttribute.cs :
783         * HttpPostClientProtocol.cs :
784         * HttpSimpleClientProtocol.cs :
785         * HttpWebClientProtocol.cs :
786         * LogicalMethodInfo.cs :
787         * LogicalMethodTypes.cs :
788         * MatchAttribute.cs :
789         * MimeFormatter.cs :
790         * MimeParameterReader.cs :
791         * MimeParameterWriter.cs :
792         * MimeReturnReader.cs :
793         * NopReturnReader.cs :
794         * PatternMatcher.cs :
795         * SoapClientMessage.cs :
796         * SoapDocumentMethodAttribute.cs :
797         * SoapDocumentServiceAttribute.cs :
798         * SoapException.cs :
799         * SoapExtension.cs :
800         * SoapExtensionAttribute.cs :
801         * SoapHeader.cs :
802         * SoapHeaderAttribute.cs :
803         * SoapHeaderCollection.cs :
804         * SoapHeaderDirection.cs :
805         * SoapHttpClientProtocol.cs :
806         * SoapMessage.cs :
807         * SoapMessageStage.cs :
808         * SoapParameterStyle.cs :
809         * SoapRpcMethodAttribute.cs :
810         * SoapRpcServiceAttribute.cs :
811         * SoapServerMessage.cs :
812         * SoapServiceRoutingStyle.cs :
813         * SoapUnknownHeader.cs :
814         * TextReturnReader.cs :
815         * UrlEncodedParameterWriter.cs :
816         * UrlParameterReader.cs :
817         * UrlParameterWriter.cs :
818         * ValueCollectionParameterReader.cs :
819         * WebClientAsyncResult.cs :
820         * WebClientProtocol.cs :
821         * WebServiceHandlerFactory.cs :
822         * XmlReturnReader.cs :
823                 Add missing methods and attributes to make as few missing
824                 things as possible in this namespace.  This is from the
825                 project status page.
826
827 2002-07-20 Tim Coleman  <tim@timcoleman.com>
828        * AnyReturnReader.cs:
829        * HtmlFormParameterReader.cs:
830        * HtmlFormParameterWriter.cs:
831        * HttpGetClientProtocol.cs:
832        * HttpMethodAttribute.cs:
833        * HttpPostClientProtocol.cs:
834        * HttpSimpleClientProtocol.cs:
835        * HttpWebClientProtocol.cs:
836        * MatchAttribute.cs:
837        * MimeFormatter.cs:
838        * MimeParameterReader.cs:
839        * MimeParameterWriter.cs:
840        * MimeReturnReader.cs:
841        * NopReturnReader.cs:
842        * PatternMatcher.cs:
843        * SoapClientMessage.cs:
844        * SoapDocumentMethodAttribute.cs:
845        * SoapDocumentServiceAttribute.cs:
846        * SoapException.cs:
847        * SoapExtensionAttribute.cs:
848        * SoapExtension.cs:
849        * SoapHeaderAttribute.cs:
850        * SoapHeaderCollection.cs:
851        * SoapHeader.cs:
852        * SoapHeaderDirection.cs:
853        * SoapHttpClientProtocol.cs:
854        * SoapMessage.cs:
855        * SoapMessageStage.cs:
856        * SoapParameterStyle.cs:
857        * SoapRpcMethodAttribute.cs:
858        * SoapRpcServiceAttribute.cs:
859        * SoapServerMessage.cs:
860        * SoapServiceRoutingStyle.cs:
861        * SoapUnknownHeader.cs:
862        * TextReturnReader.cs:
863        * UrlEncodedParameterWriter.cs:
864        * UrlParameterReader.cs:
865        * UrlParameterWriter.cs:
866        * ValueCollectionParameterReader.cs:
867        * WebClientAsyncResult.cs:
868        * WebClientProtocol.cs:
869        * WebServiceHandlerFactory.cs:
870        * XmlReturnReader.cs:
871                Added new stubbs and some implementation
872        * LogicalMethodTypes.cs:
873                Added [Serializable] attribute which was missing.
874
875 2002-07-19 Tim Coleman  <tim@timcoleman.com>
876         * ChangeLog:
877         * LogicalMethodInfo.cs:
878         * LogicalMethodTypes.cs:
879                 Add required classes to maek System.Web.Services.Description
880                 buildable.