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