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