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