* HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs,
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Protocols / ChangeLog
index d506fe72044e3228e5cf26a72fe7ebd03f7cb7da..b720184fc0e68c7ca84885ac9627d195f784972f 100644 (file)
@@ -1,3 +1,442 @@
+2004-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs, 
+         SoapClientMessage.cs, SoapHttpClientProtocol.cs, SoapServerMessage.cs:
+         Added 2.0 stubs.
+       * SoapException.cs, SoapHeader.cs, SoapHeaderException.cs, SoapMessage.cs,
+         SoapRpcMethodAttribute.cs, SoapRpcServiceAttribute.cs: Implemented some
+         new methods and properties.
+       * WebClientProtocol.cs: uri field must be internal.
+
+2004-07-05  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Methods.cs: When using RPC, ignore RequestElementName and MessageName, 
+         and always uses the method name (MS.NET seems to do this).
+
+2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * XmlReturnWriter.cs: Add XmlIncludes to the reflection importer when
+         reflecting the return type.
+
+2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Methods.cs: Check for null when looking for a header serializer, since
+         unknown headers don't have a serializer.
+       * SoapHeader.cs: Check for empty string before setting 
+         EncodedMustUnderstand.
+
+2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Methods.cs, SoapMessage.cs: Added support for unknown headers.
+       * SoapHeader.cs, SoapUnknownHeader.cs: Added new constructor that takes an
+         XmlElement with header info.
+       * WebServiceHelper.cs: Write the encodingStyle attribute when using the
+         encoded format. Added support for unknown headers.
+
+2004-06-22  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * XmlReturnReader.cs, XmlReturnWriter.cs: Generate the serializer with
+         the root attribute taken from the method attributes.
+
+2004-06-10  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * TypeStubManager.cs: Improved locking in GetLogicalTypeInfo().
+       * WebServiceHandler.cs: Removed unneded methods.
+
+2004-06-02  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * LogicalMethodInfo.cs: Don't crash in GetCustomAttribute if the requested
+         attribute is not found.
+
+2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * HttpSoapWebServiceHandler.cs: Removed unused variables.
+       * SoapHeaderAttribute.cs: Added Obsolete attribute.
+
+2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * SoapClientMessage.cs: Get the MethodInfo from the corresponding
+         SoapMethodStubInfo.
+
+2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * SoapHttpClientProtocol.cs: when the response has a not acceptable
+       status code, the WebException we throw has a status of ProtocolError.
+       Fixes bug #58564.
+
+2004-05-12  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * LogicalMethodInfo.cs: Made EnableSession property internal.
+
+2004-05-12  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * HttpSimpleWebServiceHandler.cs: Added GetRequestMethod(), which is used
+         by the handler factory to check if the target method needs session or not.
+         Also factorized error handling in WriteError().
+       * HttpSoapWebServiceHandler.cs: Added GetRequestMethod(), for the same 
+         reason. Assign the context to the WebService just before invoking the
+         method.
+       * SoapHttpClientProtocol.cs: Use helper method to create the xml writer.
+       * WebServiceHandler.cs: Added virtual GetRequestMethod().
+       * WebServiceHandlerFactory.cs: Use an http handler wrapper when the target
+         method requires session support.
+       * WebServiceHelper.cs: Added some helper methods.
+
+2004-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * SoapDocumentationHandler.cs: added internal property to get the page
+       handler when available.
+
+       * WebServiceHandlerFactory.cs: wrap the documentation handler in a class
+       that implements IRequiresSessionState and, if requested,
+       IReadOnlySessionState, so that we can use Sesion object in the default
+       WSDL help generator.
+
+2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs: finish the request after serializing
+       the fault message.
+
+2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpGetWebServiceHandler.cs:
+       * HttpPostWebServiceHandler.cs: removed.
+
+       * HttpSimpleWebServiceHandler.cs: changed ctor parameters and added
+       EnableSession property.
+
+       * WebServiceHandler.cs: added EnableSession virtual property.
+
+       * WebServiceHandlerFactory.cs: added a new handler that implements
+       IRequiresSessionState used for HttpGet and HttpPost.
+       (GetHandler): for HttpGet and HttpPost check if the method requires to
+       have a Session object and use the new SimpleSyncSessionHandler in that
+       case.
+
+       Still missing proper session handler for SOAP requests.
+
+2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpSimpleWebServiceHandler.cs:
+       * HttpSoapWebServiceHandler.cs: use the session if the method has
+       EnableSession set.
+
+       * LogicalMethodInfo.cs: added EnableSession property.
+
+       * WebServiceHandler.cs: set the Session object of the WebService.
+
+2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * WebServiceHelper.cs: In GetContentEncoding, chop off the single & double
+         quotes around the encoding name. Patch by George Kodinov. This fixes
+         bug #55806.
+
+2004-03-10  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs: Set the properties ContentType and 
+         ContentEncoding in SoapServerMessage.
+       * LogicalMethodInfo.cs: Implemented AsyncResultParameter, BeginInvoke and
+         EndInvoke. Fixed ComputeParameters, so it computes the correct parameters
+         for async logical methods.
+       * Methods.cs: Check that client proxies have one and only one 
+         WebServiceBindingAttribute.
+       * PatternMatcher.cs: Implemented (in fact, just moved code from 
+         TextReturnReader.cs)
+       * SoapDocumentationHandler.cs: Add soap bindings in the generated
+         discovery document.
+       * SoapHttpClientProtocol.cs: Implemented method Discover().
+       * SoapMessage.cs: Implemented property ContentEncoding.
+       * TextReturnReader.cs: Moved code to PatternMatcher.cs.
+       
+2004-02-27  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Fault.cs: Moved Fault class from Methods.cd to this file. It also includes
+         a generated serializer.
+       * HttpSoapWebServiceHandler.cs, WebServiceHelper.cs: Use the new static Fault serializer.
+       * Methods.cs: Include types declared with XmlInclude and SoapInclude to the
+         reflection importer. Moved Fault and its serializer to Fault.cs
+       * SoapHttpClientProtocol.cs: Removed unused method.
+
+2004-02-12  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * WebServiceHelper.cs: When reading a soap request, skip empty headers. 
+         This fixes bug #51846.
+
+2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * WebServiceHandler.cs: inheritance from WebService is not mandatory.
+
+2004-02-05  Alon Gazit <along@mainsoft.com>
+
+       * HttpMethodAttribute.cs:
+       * MatchAttribute.cs:
+       * SoapDocumentMethodAttribute.cs:
+       * SoapDocumentServiceAttribute.cs:
+       * SoapHeaderAttribute.cs:
+       * SoapRpcMethodAttribute.cs:
+       * SoapRpcServiceAttribute.cs: This attribute is inherited by
+               derived classes.changed the AttributeUsage attribute.
+
+2004-02-05  Alon Gazit <along@mainsoft.com>
+
+       * SoapHeaderAttribute.cs: This attribute is multiuse.
+       Changed the AttributeUsage attribute.
+
+2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * SoapDocumentMethodAttribute.cs: Fixed bug in ResponseNamespace.
+
+2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpWebClientProtocol.cs: Added missing property.
+       * Methods.cs: Default binding for a method must be null.
+       * SoapHeaderDirection.cs: Added missing enum value.
+       * SoapMessage.cs: Added missing property.
+       * TypeStubManager.cs: Removed unneded check from AddBinding.
+         In GetBinding(), return default binding if name is null.
+       * ValueCollectionParameterReader.cs: IsPrimitive must be internal.
+
+2004-01-21  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs, SoapHttpClientProtocol.cs: Do not use 
+         indented format for requests and responses. SOAPAction header value
+         must be quoted (fix by Yaacov Akiba Slama).
+       
+2004-01-21  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs: Set the correct namespaces for Fault. This fixes bug #53117.
+         Based on the fix by Eran Domb.
+
+2004-01-19  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs: Get the method namespace from the binding, not from the web
+       service.
+       * TypeStubManager.cs: When adding a binding, ignore it if it has already
+       been added. Changed WebServiceLiteralNamespace by the method
+       GetWebServiceLiteralNamespace. The literal namespace depends on the binding
+       namespace, so it has to be provided as parameter.
+       * XmlReturnReader.cs, XmlReturnWriter.cs: Use GetWebServiceLiteralNamespace 
+       instead of WebServiceLiteralNamespace.
+
+2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs: Set the correct element name and namespace for headers (those
+       are not managed like other data classes).
+
+2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs:
+       * HttpSimpleWebServiceHandler.cs: set
+       base.Context property.
+
+       * WebServiceHandler.cs: added set_Context and set the context for the
+       WebService when creating the instance.
+
+2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * SoapDocumentationHandler.cs: Added support for DISCO file generation.
+
+2003-12-16  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpSimpleClientProtocol.cs: Do not encode the request url, since it is
+         already encoded by the MimeParameterWriter.
+       * MatchAttribute.cs: Set default value for Group to 1.
+       * TextReturnReader.cs: Implemented. With this it is possible to create an
+         XML web service that parse the contents of a web page.
+
+2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs: Added check for valid SOAPAction header.
+         Fixed bug when routing style is RequestElement.
+         Removed GetMethodFromAction. This is done now in the type stub.
+         Other minor fixes.
+       * Methods.cs, WebServiceHelper.cs: Faults are always serialized using 
+         literal format. Removed unneded code.
+       
+2003-12-12  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs: Added special handling for RPC format.
+       
+2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs: Added correct namespace for serialization in Fault class.
+       * SoapHttpClientProtocol.cs: Changed the method used to check if the
+         result is a fault. Now the check is done inside 
+         WebServiceHelper.ReadSoapMessage. Removed some debug writelines.
+       * WebServiceHelper.cs: If the message body is a fault, use the fault
+         serializer.
+
+2003-11-24  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs, TypeStubManager.cs, SoapMessage.cs: Removed TODO comment.
+       * SoapDocumentationHandler.cs: Check that the documentation page exist.
+       * SoapHttpClientProtocol.cs: Removed cast from WebResponse to
+         HttpWebResponse. This fixes bug #51281.
+
+2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs: WebException is ok here for wrong 
+       content encoding...
+       * SoapHttpClientProtocol.cs: ... but here, we should throw an
+       InvalidOperationException including the full response.
+
+       * WebServiceHelper.cs:
+       (GetContentEncoding): now fills an output variable with the name of the
+       content encoding used.
+       (InvalidOperation): new method to build the message for
+       InvalidOperationException.
+
+2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * SoapHttpClientProtocol.cs:
+       * WebServiceHelper.cs: throw a WebException instead of an Exception.
+       Fixes bug #51193.
+
+2003-10-26  Miguel de Icaza  <miguel@ximian.com>
+
+       * WebServiceHelper.cs: Compute content type and encoding
+       correctly in the absence of extra options.
+
+2003-10-22  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Methods.cs: Class Fault is now public, so it can be serialized.
+
+2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * TypeStubManager.cs: Added OperationName property.
+
+2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs, HttpSimpleTypeStubInfo.cs,
+         HttpSoapWebServiceHandler.cs, Methods.cs, SoapHttpClientProtocol.cs,
+         TypeStubManager.cs
+         Added class LogicalTypeInfo, which contains info common to all protocols
+         through which a web service can be accessed. Also, modified the way
+         Serializers are created. Instead of creating one by one, they are now
+         created all at once. This will make serialization creation more efficient
+         when the serializer code generator is in place.
+       * SoapRpcMethodAttribute.cs: Set the correct default values for the
+         properties.
+       * WebServiceHelper.cs: Removed unused method GetServiceNamespace().
+       * XmlReturnReader.cs, XmlReturnWriter.cs: Get the namespace for the return
+         type from LogicalTypeInfo.
+
+2003-10-12  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * SoapHttpClientProtocol.cs: Replaced AsyncInfo by a new 
+         SoapWebClientAsyncResult class derived from WebClientAsyncResult.
+       * WebClientAsyncResult.cs: Removed unneeded members.
+
+2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * SoapDocumentationHandler.cs: don't close the response stream here
+       to allow filtering.
+
+2003-10-06  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HtmlFormParameterWriter.cs: Fixed WriteRequest().
+       * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Check that 
+         HttpMethodAttribute is present in proxy's method.
+       * HttpSimpleClientProtocol.cs: Forgot to call InitializeRequest before
+         getting the request stream.
+       * UrlEncodedParameterWriter.cs: in Encode(), take into account that
+         requestEncoding can be null.
+
+2003-10-04  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * SoapDocumentationHandler.cs: Moved here the code from 
+         WebServiceHandlerFactory that generates the documentation page.
+       * WebServiceHandlerFactory.cs: Moved the code that generates the doc page
+         to SoapDocumentationHandler.cs.
+       * HttpGetClientProtocol.cs, HttpGetWebServiceHandler.cs,
+         HttpPostClientProtocol.cs, HttpPostWebServiceHandler.cs,
+         HttpSimpleWebServiceHandler.cs, HttpSoapWebServiceHandler.cs,
+         SoapHttpClientProtocol.cs: Changed parameters of GetTypeStub call.
+       * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Added ProtocolName
+         property. Added check for valid parameters.
+       * HttpSimpleTypeStubInfo.cs: Define return MimeFormatter in constructor.
+       * Methods.cs: BindingInfo and related properties moved to base TypeStubInfo.
+         Added properties for XmlImporter and SoapImporter.
+       * TypeStubManager.cs: Added BindingInfo and related properties.
+         Changed GetTypeStub method. Now it takes the name of the protocol for
+         which to get the type stub info.
+       * ValueCollectionParameterReader.cs: IsSupported should only return true
+         for input primitive parameters or array of primitives.
+
+2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * SoapDocumentationHandler.cs: it does not generate the documentation
+       page any more. GetDescription and GetSchemas are now internal.
+
+       * WebServiceHandlerFactory.cs: generate the documentation page without
+       doing a Transfer () but instead creating a Page instance from the wsdl
+       help file. This file is located from the configuration file that
+       contains the <wsdlHelpGenerator> tag.
+
+2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HtmlFormParameterReader.cs, HtmlFormParameterWriter.cs, 
+         HttpGetClientProtocol.cs, HttpPostClientProtocol.cs, 
+         HttpSimpleClientProtocol.cs, MimeFormatter.cs, MimeParameterWriter.cs,
+         NopReturnReader.cs, UrlEncodedParameterWriter.cs, UrlParameterReader.cs,
+         UrlParameterWriter.cs, ValueCollectionParameterReader.cs, 
+         WebClientAsyncResult.cs, XmlReturnReader.cs, XmlReturnWriter.cs
+         : Implemented.
+       
+       * HttpSoapWebServiceHandler.cs, SoapClientMessage.cs, SoapServerMessage.cs,
+         SoapDocumentationHandler.cs, SoapHttpClientProtocol.cs, 
+         WebServiceHelper.cs: Changed due to modifications in  TypeStubInfo.
+         
+       * Methods.cs: Moved common code to TypeStubInfo.cs.
+       * WebServiceHandler.cs: Moved invoke code to HttpSoapWebServiceHandler.cs
+       * ServerProtocol.cs, SoapServerProtocol.cs: Fixed formatting.
+       * WebServiceHandlerFactory.cs: Added support for HttpGet and HttpPost.
+
+2003-09-29  Lluis Sanchez Gual  <lluis@ximian.com>
+       
+       * Methods.cs: Little fix in binding check.
+       * SoapExtension.cs: Implemented ChainStream. Changed some methods from
+         public to internal.
+       * SoapClientMessage: Implemented EnsureInStage.
+       * SoapServerMessage: Implemented EnsureInStage, EnsureOutStage.
+         
+2003-09-28  Lluis Sanchez Gual  <lluis@ximian.com>
+       
+       * HttpSoapWebServiceHandler.cs: In SerializeResponse method, improved
+         management of exceptions. Also added support for BufferResponse flag.
+       * Methods.cs: Added MethodAttribute property in MethodStubInfo. Added
+         XmlImporter, SoapImporter and Type properties in TypeStubInfo.
+       * SoapMessage.cs: little fix.
+       
+2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
+       
+       * SoapDocumentationHandler.cs: Added support for on-the-fly proxy
+         code generation in documentation pages.
+
+2003-09-04  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Methods.cs: Added support for bare parameter style. Fixed some defaults.
+
+2003-09-01  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Methods.cs: In TypeStubInfo, added Documentation field.
+
+2003-07-28  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * HttpSoapWebServiceHandler.cs: 
+       * Methods.cs: Added SoapBindingStyle, SoapBindingUse, InputMembersMapping
+         and OutputMembersMapping properties in MethodStubInfo.
+         Use default value defined in TypeStubInfo for RequestNamespace,
+         ResponseNamespace and other properties.
+         Added class BindingInfo to store information about class bindings.
+         In TypeStubInfo added SoapBindingStyle, DefaultBinding, Methods and
+         Bindings properties.
+       * SoapRpcMethodAttribute.cs: Use WebServiceAttribute.DefaultNamespace constant 
+         instead of hardcoded namespace name.
+       * WebServiceHandlerFactory.cs: Create new SoapDocumentationHandler for
+         documentation requests.
+       * SoapDocumentationHandler.cs: new handler that generates WS documentation.
+       
 2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>
 
        * WebServiceHandler.cs: Fixed Invoke(). ParameterInfo.Position is now