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