1 2005-02-07 Lluis Sanchez Gual <lluis@novell.com>
3 * XmlReturnWriter.cs, SoapDocumentationHandler.cs: Use utf-8 encoding
4 when generating xml responses, wsdl documents and schemas. This fixes
7 2004-12-09 Lluis Sanchez Gual <lluis@novell.com>
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.
16 2004-12-09 Lluis Sanchez Gual <lluis@novell.com>
18 * TypeStubManager.cs: Removed redundat hastable access.
19 * SoapHttpClientProtocol.cs: Accept responses with ContentLength==0.
20 This fixes bug #70310.
22 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
24 * SoapHttpClientProtocol.cs: dispose the StreamReader that wraps the
27 2004-09-15 Lluis Sanchez Gual <lluis@novell.com>
29 * Methods.cs: Use the service namespace as the base for the soap action.
30 This fixes bug #60379.
32 2004-08-25 Lluis Sanchez Gual <lluis@novell.com>
34 * HttpSoapWebServiceHandler.cs, WebServiceHandler.cs: Do not assign the
35 context to the service. It already gets it from HttpContext.Current.
37 2004-07-27 Lluis Sanchez Gual <lluis@ximian.com>
39 * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs,
40 SoapHttpClientProtocol.cs: Implemented support for the new async model.
41 * InvokeCompletedEventArgs.cs: Implemented.
43 2004-07-20 Lluis Sanchez Gual <lluis@ximian.com>
45 * HttpWebClientProtocol.cs: Add received cookies to cookieContainer when
46 getting the response, do not wait for the next request to do it.
48 2004-07-13 Lluis Sanchez Gual <lluis@ximian.com>
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
56 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
58 * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs,
59 SoapClientMessage.cs, SoapHttpClientProtocol.cs, SoapServerMessage.cs:
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.
66 2004-07-05 Lluis Sanchez Gual <lluis@ximian.com>
68 * Methods.cs: When using RPC, ignore RequestElementName and MessageName,
69 and always uses the method name (MS.NET seems to do this).
71 2004-07-02 Lluis Sanchez Gual <lluis@ximian.com>
73 * XmlReturnWriter.cs: Add XmlIncludes to the reflection importer when
74 reflecting the return type.
76 2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
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.
83 2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
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.
91 2004-06-22 Lluis Sanchez Gual <lluis@ximian.com>
93 * XmlReturnReader.cs, XmlReturnWriter.cs: Generate the serializer with
94 the root attribute taken from the method attributes.
96 2004-06-10 Lluis Sanchez Gual <lluis@ximian.com>
98 * TypeStubManager.cs: Improved locking in GetLogicalTypeInfo().
99 * WebServiceHandler.cs: Removed unneded methods.
101 2004-06-02 Lluis Sanchez Gual <lluis@ximian.com>
103 * LogicalMethodInfo.cs: Don't crash in GetCustomAttribute if the requested
104 attribute is not found.
106 2004-06-01 Gert Driesen <drieseng@users.sourceforge.net>
108 * HttpSoapWebServiceHandler.cs: Removed unused variables.
109 * SoapHeaderAttribute.cs: Added Obsolete attribute.
111 2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
113 * SoapClientMessage.cs: Get the MethodInfo from the corresponding
116 2004-05-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
118 * SoapHttpClientProtocol.cs: when the response has a not acceptable
119 status code, the WebException we throw has a status of ProtocolError.
122 2004-05-12 Lluis Sanchez Gual <lluis@ximian.com>
124 * LogicalMethodInfo.cs: Made EnableSession property internal.
126 2004-05-12 Lluis Sanchez Gual <lluis@ximian.com>
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
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.
140 2004-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
142 * SoapDocumentationHandler.cs: added internal property to get the page
143 handler when available.
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
150 2004-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
152 * HttpSoapWebServiceHandler.cs: finish the request after serializing
155 2004-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
157 * HttpGetWebServiceHandler.cs:
158 * HttpPostWebServiceHandler.cs: removed.
160 * HttpSimpleWebServiceHandler.cs: changed ctor parameters and added
161 EnableSession property.
163 * WebServiceHandler.cs: added EnableSession virtual property.
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
171 Still missing proper session handler for SOAP requests.
173 2004-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
175 * HttpSimpleWebServiceHandler.cs:
176 * HttpSoapWebServiceHandler.cs: use the session if the method has
179 * LogicalMethodInfo.cs: added EnableSession property.
181 * WebServiceHandler.cs: set the Session object of the WebService.
183 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
185 * WebServiceHelper.cs: In GetContentEncoding, chop off the single & double
186 quotes around the encoding name. Patch by George Kodinov. This fixes
189 2004-03-10 Lluis Sanchez Gual <lluis@ximian.com>
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
200 * SoapDocumentationHandler.cs: Add soap bindings in the generated
202 * SoapHttpClientProtocol.cs: Implemented method Discover().
203 * SoapMessage.cs: Implemented property ContentEncoding.
204 * TextReturnReader.cs: Moved code to PatternMatcher.cs.
206 2004-02-27 Lluis Sanchez Gual <lluis@ximian.com>
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.
215 2004-02-12 Lluis Sanchez Gual <lluis@ximian.com>
217 * WebServiceHelper.cs: When reading a soap request, skip empty headers.
218 This fixes bug #51846.
220 2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
222 * WebServiceHandler.cs: inheritance from WebService is not mandatory.
224 2004-02-05 Alon Gazit <along@mainsoft.com>
226 * HttpMethodAttribute.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.
235 2004-02-05 Alon Gazit <along@mainsoft.com>
237 * SoapHeaderAttribute.cs: This attribute is multiuse.
238 Changed the AttributeUsage attribute.
240 2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
242 * SoapDocumentMethodAttribute.cs: Fixed bug in ResponseNamespace.
244 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
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.
254 2004-01-21 Lluis Sanchez Gual <lluis@ximian.com>
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).
260 2004-01-21 Lluis Sanchez Gual <lluis@ximian.com>
262 * Methods.cs: Set the correct namespaces for Fault. This fixes bug #53117.
263 Based on the fix by Eran Domb.
265 2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
267 * Methods.cs: Get the method namespace from the binding, not from the web
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.
276 2004-01-14 Lluis Sanchez Gual <lluis@ximian.com>
278 * Methods.cs: Set the correct element name and namespace for headers (those
279 are not managed like other data classes).
281 2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
283 * HttpSoapWebServiceHandler.cs:
284 * HttpSimpleWebServiceHandler.cs: set
285 base.Context property.
287 * WebServiceHandler.cs: added set_Context and set the context for the
288 WebService when creating the instance.
290 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
292 * SoapDocumentationHandler.cs: Added support for DISCO file generation.
294 2003-12-16 Lluis Sanchez Gual <lluis@ximian.com>
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.
302 2003-12-15 Lluis Sanchez Gual <lluis@ximian.com>
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.
308 * Methods.cs, WebServiceHelper.cs: Faults are always serialized using
309 literal format. Removed unneded code.
311 2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
313 * Methods.cs: Added special handling for RPC format.
315 2003-11-27 Lluis Sanchez Gual <lluis@ximian.com>
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
324 2003-11-24 Lluis Sanchez Gual <lluis@ximian.com>
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.
331 2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
333 * HttpSoapWebServiceHandler.cs: WebException is ok here for wrong
335 * SoapHttpClientProtocol.cs: ... but here, we should throw an
336 InvalidOperationException including the full response.
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.
344 2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
346 * SoapHttpClientProtocol.cs:
347 * WebServiceHelper.cs: throw a WebException instead of an Exception.
350 2003-10-26 Miguel de Icaza <miguel@ximian.com>
352 * WebServiceHelper.cs: Compute content type and encoding
353 correctly in the absence of extra options.
355 2003-10-22 Lluis Sanchez Gual <lluis@ximian.com>
357 * Methods.cs: Class Fault is now public, so it can be serialized.
359 2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
361 * TypeStubManager.cs: Added OperationName property.
363 2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
365 * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs, HttpSimpleTypeStubInfo.cs,
366 HttpSoapWebServiceHandler.cs, Methods.cs, SoapHttpClientProtocol.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
375 * WebServiceHelper.cs: Removed unused method GetServiceNamespace().
376 * XmlReturnReader.cs, XmlReturnWriter.cs: Get the namespace for the return
377 type from LogicalTypeInfo.
379 2003-10-12 Lluis Sanchez Gual <lluis@ximian.com>
381 * SoapHttpClientProtocol.cs: Replaced AsyncInfo by a new
382 SoapWebClientAsyncResult class derived from WebClientAsyncResult.
383 * WebClientAsyncResult.cs: Removed unneeded members.
385 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
387 * SoapDocumentationHandler.cs: don't close the response stream here
390 2003-10-06 Lluis Sanchez Gual <lluis@ximian.com>
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.
400 2003-10-04 Lluis Sanchez Gual <lluis@ximian.com>
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.
421 2003-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
423 * SoapDocumentationHandler.cs: it does not generate the documentation
424 page any more. GetDescription and GetSchemas are now internal.
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.
431 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
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
441 * HttpSoapWebServiceHandler.cs, SoapClientMessage.cs, SoapServerMessage.cs,
442 SoapDocumentationHandler.cs, SoapHttpClientProtocol.cs,
443 WebServiceHelper.cs: Changed due to modifications in TypeStubInfo.
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.
450 2003-09-29 Lluis Sanchez Gual <lluis@ximian.com>
452 * Methods.cs: Little fix in binding check.
453 * SoapExtension.cs: Implemented ChainStream. Changed some methods from
455 * SoapClientMessage: Implemented EnsureInStage.
456 * SoapServerMessage: Implemented EnsureInStage, EnsureOutStage.
458 2003-09-28 Lluis Sanchez Gual <lluis@ximian.com>
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.
466 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
468 * SoapDocumentationHandler.cs: Added support for on-the-fly proxy
469 code generation in documentation pages.
471 2003-09-04 Lluis Sanchez Gual <lluis@ximian.com>
473 * Methods.cs: Added support for bare parameter style. Fixed some defaults.
475 2003-09-01 Lluis Sanchez Gual <lluis@ximian.com>
477 * Methods.cs: In TypeStubInfo, added Documentation field.
479 2003-07-28 Lluis Sanchez Gual <lluis@ximian.com>
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
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.
495 2003-07-22 Lluis Sanchez Gual <lluis@ximian.com>
497 * WebServiceHandler.cs: Fixed Invoke(). ParameterInfo.Position is now
498 zero-based, like in MS.NET.
500 2003-07-16 Lluis Sanchez Gual <lluis@ximian.com>
502 * SoapHttpClientProtocol.cs: Removed debug WriteLine.
504 2003-07-10 Lluis Sanchez Gual <lluis@ximian.com>
506 * HttpSoapWebServiceHandler.cs: MS puts the soap action in quotation marks??
508 * SoapHttpClientProtocol.cs: Implemented support for asynchronous calls
509 (BeginInvoke and EndInvoke).
511 2003-07-09 Lluis Sanchez Gual <lluis@ximian.com>
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.
525 2003-07-04 Lluis Sanchez Gual <lluis@ximian.com>
527 * LogicalMethodInfo.cs: Fixed Invoke method. If return type is void,
528 then the result object array only contain output parameters.
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).
538 * SoapHttpClientProtocol.cs: moved WriteSoapEnvelope method to WebServiceHelper (so it can be shared).
539 Also moved other serialization stuff to WebServiceHelper.
541 * SoapMessage.cs: Added some convenient constructors and internal properties.
542 Implemented GetOutParameterValue and GetReturnValue.
544 * SoapServerMessage.cs: Implemented.
546 * WebServiceHandler.cs: Implemented method Invoke.
548 * WebServiceHandlerFactory.cs: Basic implementation.
550 * WebServiceHelper.cs: Added. Has some methods shared between client and server classes.
552 * HttpSoapWebServiceHandler.cs: Added. IHttpHandler implementation for HttpSoap requests.
554 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
560 * SoapHttpClientProtocol.cs:
561 (GetWebRequest): just calls the base method.
562 (SendRequest): set the method here.
563 (Invoke): call GetWebResponse instead of request.GetResponse.
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.
571 2003-06-14 Lluis Sanchez Gual <lluis@ximian.com>
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.
579 2003-06-13 Lluis Sanchez Gual <lluis@ximian.com>
581 * Methods.cs: Added serializer to MethodStubInfo for deserializing faults.
582 * SoapHttpClientProtocol.cs: Added support for faults.
584 2003-06-10 Lluis Sanchez Gual <lluis@ximian.com>
586 * Methods.cs: removed handler for UnknownNode event
588 2003-06-05 Lluis Sanchez Gual <lluis@ximian.com>
590 * Methods.cs: added support for encoded format
592 2003-06-01 Miguel de Icaza <miguel@ximian.com>
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.
598 (MakeRequestSerializer, MakeResponseSerializer): Use the empty
599 element for the return values.
601 * SoapRpcMethodAttribute.cs: Drop the default name on the
602 SoapRpcMethodAttribute, it was incorrectly given a default name.
604 2003-05-30 Miguel de Icaza <miguel@ximian.com>
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.
611 Kill SoapBindingUse, we only use this during validation.
613 Turn out Google uses RPC/Literal, and its a good demo.
615 (MakeResponseSerializer): OneWay is not the only
616 condition to catch; Also void return types are not required to
619 (MakeRequestSerializer): InParameters *might* be ref parameters,
620 deal with that here too.
622 Add some debugging code for tracking down missing implementation
623 details in serialization creation.
625 (MakeResponseSerializer): DUH. Use the
626 ResponseName/ResponseNamespace for the member import, not the
627 RequestName and RequestNamespace. The bugs of cut-and-paste.
629 2003-05-29 Miguel de Icaza <miguel@ximian.com>
631 * SoapHttpClientProtocol.cs (CreateMessage): Kill. Move
632 functionality to Invoke.
634 (Invoke): Use new TypeStubInfo/MethodStubInfo instead.
636 * SoapClientMessage.cs: Drop old mechanism, use MethodStubInfo instead.
638 * Methods.cs: New file. Contains the managed for TypeStubs and
641 A MethodInfoStub contains the serializers we use for the SOAP
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.
648 2003-05-28 Miguel de Icaza <miguel@ximian.com>
650 * LogicalMethodInfo.cs (Create): Implement begin/end method
653 (EndMethodInfo): Always return end_method_info.
655 2003-04-30 Miguel de Icaza <miguel@ximian.com>
657 * SoapHttpClientProtocol.cs: Flag the methods in the chain that
658 gets the caller method as non-inlineable.
660 2003-04-29 Miguel de Icaza <miguel@ximian.com>
662 * SoapHttpClientProtocol.cs (CreateMessage): Extract information
663 from the method to be called.
665 * SoapDocumentMethodAttribute.cs: Do not initialize all the fields
666 on the attribute at bootstrap, for default values, just compute
669 * SoapMessage.cs (SetStage): New internal method, used to register
670 the stage as we move along the soap pipeline.
672 * LogicalMethodInfo.cs: Most of this is implemented. Its only
673 missing a few bits in the Create() method.
675 * SoapHttpClientProtocol.cs: Begin implementation of Invoke, which
676 lead to other dependencies to be implemented.
678 * LogicalMethodInfo.cs: Mostly complete. It is only missing the
679 async features (BeginInvoke/EndInvoke) on a LogicalMethodInfo.
681 * WebClientProtocol.cs (GetWebRequest): Track the web request, so
682 we can abort it later.
683 (Abort): Call abort on the underlying transport.
685 2002-08-24 Tim Coleman <tim@timcoleman.com>
686 * HttpServerProtocol.cs:
687 * WebServiceHandler.cs:
688 Some commented code added, from analysing
690 * MimeReturnWriter.cs:
691 * XmlReturnWriter.cs:
694 2002-08-23 Tim Coleman <tim@timcoleman.com>
696 * SoapServerProtocol.cs:
697 More cleanup, comparison with class status.
698 * WebServiceHandler.cs:
699 * HttpServerProtocol.cs:
702 2002-08-15 Tim Coleman <tim@timcoleman.com>
704 * SoapServerProtocol.cs:
705 Some more implementation.
707 2002-08-06 Tim Coleman <tim@timcoleman.com>
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.
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:
724 * SoapServerMessage.cs:
725 * WebClientAsyncResult.cs:
726 Add internal constructor, as found on class
727 status page; modify some properties.
729 2002-07-23 Tim Coleman <tim@timcoleman.com>
730 * SoapException.cs: modified constructors to
731 call base class correctly.
732 * WebClientAsyncResult: some implementation
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
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
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
765 Removed constructor which should not be present.
767 Made protected fields private as they should
769 * SoapHeaderException.cs:
770 Modifications to constructors to propertly
771 call base class constructor
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
779 2002-07-22 Tim Coleman <tim@timcoleman.com>
780 * SoapHeaderException.cs:
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 :
796 * MimeParameterReader.cs :
797 * MimeParameterWriter.cs :
798 * MimeReturnReader.cs :
799 * NopReturnReader.cs :
800 * PatternMatcher.cs :
801 * SoapClientMessage.cs :
802 * SoapDocumentMethodAttribute.cs :
803 * SoapDocumentServiceAttribute.cs :
806 * SoapExtensionAttribute.cs :
808 * SoapHeaderAttribute.cs :
809 * SoapHeaderCollection.cs :
810 * SoapHeaderDirection.cs :
811 * SoapHttpClientProtocol.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
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:
844 * MimeParameterReader.cs:
845 * MimeParameterWriter.cs:
846 * MimeReturnReader.cs:
847 * NopReturnReader.cs:
849 * SoapClientMessage.cs:
850 * SoapDocumentMethodAttribute.cs:
851 * SoapDocumentServiceAttribute.cs:
853 * SoapExtensionAttribute.cs:
855 * SoapHeaderAttribute.cs:
856 * SoapHeaderCollection.cs:
858 * SoapHeaderDirection.cs:
859 * SoapHttpClientProtocol.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.
881 2002-07-19 Tim Coleman <tim@timcoleman.com>
883 * LogicalMethodInfo.cs:
884 * LogicalMethodTypes.cs:
885 Add required classes to maek System.Web.Services.Description