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