Author: jochen
Date: Mon Jan 15 12:45:09 2007
New Revision: 496479

URL: http://svn.apache.org/viewvc?view=rev&rev=496479
Log:
Made extending the XmlRpcCommonsTransportFactory easier.
Submitted-by: Steffen Pingel, [EMAIL PROTECTED]
PR: XMLRPC-131

Modified:
    
webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcCommonsTransport.java
    webservices/xmlrpc/trunk/src/changes/changes.xml

Modified: 
webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcCommonsTransport.java
URL: 
http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcCommonsTransport.java?view=diff&rev=496479&r1=496478&r2=496479
==============================================================================
--- 
webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcCommonsTransport.java
 (original)
+++ 
webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcCommonsTransport.java
 Mon Jan 15 12:45:09 2007
@@ -44,9 +44,9 @@
  * HTTP Client.
  */
 public class XmlRpcCommonsTransport extends XmlRpcHttpTransport {
-    private final HttpClient client;
+    protected final HttpClient client;
        private static final String userAgent = USER_AGENT + " (Jakarta Commons 
httpclient Transport)";
-       private PostMethod method;
+       protected PostMethod method;
        private int contentLength = -1;
        private XmlRpcHttpClientConfig config;      
 
@@ -72,7 +72,7 @@
 
     protected void initHttpHeaders(XmlRpcRequest pRequest) throws 
XmlRpcClientException {
         config = (XmlRpcHttpClientConfig) pRequest.getConfig();
-        method = new PostMethod(config.getServerURL().toString());
+        method = newPostMethod(config);
         super.initHttpHeaders(pRequest);
         
         if (config.getConnectionTimeout() != 0)
@@ -82,6 +82,10 @@
             
client.getHttpConnectionManager().getParams().setSoTimeout(config.getReplyTimeout());
         
         method.getParams().setVersion(HttpVersion.HTTP_1_1);
+    }
+
+    protected PostMethod newPostMethod(XmlRpcHttpClientConfig pConfig) {
+        return new PostMethod(pConfig.getServerURL().toString());
     }
 
        protected void setRequestHeader(String pHeader, String pValue) {

Modified: webservices/xmlrpc/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/src/changes/changes.xml?view=diff&rev=496479&r1=496478&r2=496479
==============================================================================
--- webservices/xmlrpc/trunk/src/changes/changes.xml (original)
+++ webservices/xmlrpc/trunk/src/changes/changes.xml Mon Jan 15 12:45:09 2007
@@ -1,25 +1,300 @@
 <document>
   <properties>
-    <title>Changes in JaxMe API</title>
+    <title>Changes in Apache XML-RPC</title>
   </properties>
   <body>
-    <release version="0.6-SNAPSHOT" date="Not yet released">
-      <action dev="jochen" type="update">
-        Maven 2 is now used as the build system.
-      </action>
-    </release>
-    <release version="0.5.2" date="25-Oct-2006"/>
-    <release version="0.5.1" date="6-Jan-2006"/>
-    <release version="0.5" date="2005-Aug-08"/>
-    <release version="0.5beta" date="2005-Jul-13"/>
-    <release version="0.4" date="2005-May-19"/>
-    <release version="0.4beta" date="2005-Apr-17">
-      <action dev="jochen" type="enhancement" context="api">
-        Replaced JAXBSource with a streaming implementation.
-        Richard Zschech, richard.zschech at cqrdata.com
-      </action>
-    </release>
-    <release version="0.3.1" date="2004-Sep-03"/>
-    <release version="0.3" date="2004-Jul-19"/>
+    <release version="3.1-SNAPSHOT" date="Not yet released">
+      <action dev="jochen" type="add">
+        Introduced the "enabledForExceptions" property.
+      </action>
+      <action dev="jochen" type="add">
+        Added support for void methods, if extensions are turned on.
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-118" due-to="Perry Nguyen"
+          due-to-email="[EMAIL PROTECTED]">
+        Added PropertyHandlerMapping.load(ClassLoader, Map).
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-117" due-to="Jimisola 
Laursen"
+          due-to-email="[EMAIL PROTECTED]">
+        The authentication handler, type converter and requestprocessor 
factories
+        are now configurable as properties of the XmlRpcServlet.
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-116" due-to="Jimisola 
Laursen"
+          due-to-email="[EMAIL PROTECTED]">
+        Atomic properties of XmlRpcServer are now configurable as init 
parameters
+        in the XmlRpcServlet.
+      </action>
+      <action dev="jochen" type="fix">
+        Reworked the WebServer/ThreadPool framework in order to ensure a clean
+        shutdown.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-124" due-to="Jimisola 
Laursen"
+          due-to-email="[EMAIL PROTECTED]">
+               The configuration framework, as introduced by XMLRPC-116, was 
applicable
+               to the configuration only, and not to the XmlRpcServlet, or the
+               XmlRpcServletServer.
+      </action>
+      <action dev="jochen" type="add">
+        Introduced the method 
AbstractReflectiveHandlerMapping.isHandlerMethod().
+        This should allow users to prevent remote invocation of certain 
methods,
+        for example initialization stuff.
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-126"
+          due-to="Eugene Prokopiev" due-to-email="[EMAIL PROTECTED]">
+        The ClientFactory is now able to use a custom name for the remote
+        handler. So far, it was always using the interface name.
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-127">
+        It is now possible to have other objects than strings as
+        map keys.
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-131"
+          due-to="Steffen Pingel" due-to-email="[EMAIL PROTECTED]">
+        Made extending the XmlRpcCommonsTransportFactory easier.
+      </action>
+    </release>
+    <release version="3.0.1-SNAPSHOT" date="Not yet released">
+      <action dev="jochen" type="fix">
+        Make the HttpClient creation in XmlRpcCommonsTransport and the
+        URLConnection creation in XmlRpcSunHttpTransport protected.
+        This is required for cookie support.
+      </action>
+      <action dev="jochen" type="fix">
+        The WebServer was producing invalid error responses, if 
contentLengthOptional
+        was set.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-113" due-to="Juha Syrjala"
+          due-to-email="[EMAIL PROTECTED]">
+        If the server was throwing an XmlRpcException, then the fault code and 
fault
+        string weren't given to the client.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-114">
+        The WebServer replies with an HTTP error 401 now, if the
+        client uses chunked encoding.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-74">
+        The properties "Extension-Name", "Specification-Vendor", 
"Specification-Version",
+        "Specification-Title", "Implementation-Vendor-Id",
+        "Implementation-Vendor" and "Implementation-Version" are now
+               present in the MANIFEST files.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-115">
+        An NPE was thrown, if the clients request didn't contain a "params" 
element.
+      </action>
+      <action dev="jochen" type="fix" due-to="Jonathan Oexner"
+          due-to-email="[EMAIL PROTECTED]">
+        The method TimingOutCallback.waitForResponse is now checking, whether
+        a response has already arrived before waiting.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-119">
+               Fixed a serious performance problem, if the XML parser was 
sending large
+               content in small pieces. This could happen, for example, if the 
content
+               contained a large number of character entities.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-120"
+          due-to="Juho Yli-Krekola" due-to-email="[EMAIL PROTECTED]">
+        The configuration of the reply timeout in the commons transport was 
wrong.
+      </action>
+    </release>
+    <release version="3.0" date="30-Aug-2006">
+      <action dev="jochen" type="fix" due-to="Matt Preston"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-100">
+        Fixed the spelling of CharSetXmlWriterFactory, which made
+        the class basically useless.
+      </action>
+      <action dev="jochen" type="fix" due-to="Stanislav Miklik"
+          due-to-email="[EMAIL PROTECTED]">
+        Fixed that the WebServer didn't wait before retrying to
+        bind to the server socket.
+      </action>
+      <action dev="jochen" type="fix" due-to="Stanislav Miklik"
+          due-to-email="[EMAIL PROTECTED]">
+        Fixed an endless loop, if the WebServer threw a BindException.
+      </action>
+      <action dev="jochen" type="fix" due-to="Landon Fuller"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-104">
+        A NullPointerException was triggered, if the BasicEncoding was set to 
null.
+      </action>
+      <action dev="jochen" type="fix" due-to="Landon Fuller"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-104">
+               Basic authentication didn't work, if the base64 encoded string 
with
+               user name and password contained more than 72 characters.
+      </action>
+      <action dev="jochen" type="fix">
+        Basic authentication didn't work with the commons http transport,
+        because the commons httpclient wasn't configured to send credentials
+        by default. (It was waiting for a challenge.)
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-105">
+        Basic authentication didn't work with the commons http transport,
+        if user name or password contained non-ASCII characters.
+      </action>
+      <action dev="jochen" type="fix" due-to="Randall Bryant"
+          due-to-email="[EMAIL PROTECTED]">
+        The releaseWorker() method wasn't called for the server.
+      </action>
+      <action dev="jochen" type="fix">
+        Fixed a bug in the web servers thread pool, which caused that
+        threads haven't been reused.
+      </action>
+      <action dev="jochen" type="fix" due-to="Jason McLaurin"
+          due-to-email="[EMAIL PROTECTED]">
+        Documentation improvements
+      </action>
+      <action dev="jochen" type="add">
+        Added documentation on custom data types.
+      </action>
+      <action dev="jochen" type="add" due-to="Catalin Hritcu"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-107">
+        The XmlRpcLiteHttpTransport is now creating a socket
+        in a protected methods. This allows to switch to
+        alternative socket implementations.
+      </action>
+      <action dev="jochen" type="fix" due-to="Catalin Hritcu"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-108">
+        More documentation fixes.
+      </action>
+      <action dev="jochen" type="fix" due-to="Catalin Hritcu"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-109">
+        Fixed an invalid FAQ example.
+      </action>
+    </release>
+    <release version="3.0rc1" date="27-Jul-2006">
+      <action dev="jochen" type="fix" due-to="Alan Burlison"
+          due-to-email="[EMAIL PROTECTED]">
+        Added a missing "synchronized" to the TimingOutCallback.
+      </action>
+      <action dev="jochen" type="fix" due-to="Chris Conrad"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-94">
+        Fixed an invalid index, that caused the ReflectiveXmlRpcHandler to fail
+        detecting a method.
+      </action>
+      <action dev="jochen" type="add" issue="XMLRPC-93">
+        Added documentation for accessing an SSL server.
+      </action>
+      <action dev="jochen" type="add" due-to="Jimisola Laursen"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-96">
+           A null parameter list is now treated as an empty object array.
+      </action>
+      <action dev="jochen" type="fix" due-to="Jimisola Laursen"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-97">
+           The type long was missing in types.apt.      
+      </action>
+    </release>
+    <release version="3.0b1" date="24-Jun-2006">
+      <action dev="hgomez" type="add">
+        Add connectionTimeout and replyTimeout in RPC clients.
+        CommonsTransport support connection and reply timeout, 
liteHttpTransport only support reply timeout
+      </action>
+      <action dev="jochen" type="fix" due-to="Marek Ludha"
+          due-to-email="[EMAIL PROTECTED]">
+        The value created by HttpUtil.encodeBasicAuthentication(...)
+        was terminated with a line feed, which is invalid for
+        use in HTTP headers.
+      </action>
+      <action dev="hgomez" type="add">
+        add support for BigDecimal and BigInteger in extensions.
+      </action>
+      <action dev="jochen" type="fix" due-to="Walter Mundt"
+          due-to-email="[EMAIL PROTECTED]">
+          Nested object arrays could not be parsed.
+      </action>
+      <action dev="jochen" type="fix" due-to="Walter Mundt"
+          due-to-email="[EMAIL PROTECTED]">
+          The "string" tag could not be parsed.
+      </action>
+      <action dev="jochen" type="add" due-to="Walter Mundt"
+          due-to-email="[EMAIL PROTECTED]"
+          issue="XMLRPC-76">
+                 Added the DynamicHandlerMapping.
+      </action>
+      <action dev="jochen" type="fix" due-to="Walter Mundt"
+          due-to-email="[EMAIL PROTECTED]">
+          XmlRpcException.printStackTrace() was throwing
+          an NPE, if no linked exception was present.
+      </action>
+      <action dev="jochen" type="add">
+        The project is now splitted into three jar files:
+        common, client, and server.
+      </action>
+      <action dev="jochen" type="fix" due-to="Brad Karp"
+          due-to-email="[EMAIL PROTECTED]">
+        The Base64 encoder doesn't accept buffers of length 0. Such a buffer
+        was passed, if the byte array to encode has itself length 0.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-79">
+        HTTP/1.0 requires a content-length header. The Lite HTTP transport
+        doesn't support HTTP/1.1, so it refuses the "contentLengthOptional"
+        setting from now on.
+      </action>
+      <action dev="jochen" type="add" due-to="Mark Petrovic"
+          due-to-email="[EMAIL PROTECTED]">
+        Added support for initializable handlers.
+      </action>
+      <action dev="jochen" type="add" due-to="Ken Weiner"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-56">
+        Added the TimingOutCallback, which allows to abort a request,
+        if the server doesn't reply within a given time.
+      </action>
+      <action dev="hgomez" type="fix">
+        Fixed that dateTime values must not include timezone values.
+      </action>
+      <action dev="jochen" type="add" due-to="Denis Carniel"
+          due-to-email="[EMAIL PROTECTED]" issue="XMLRPC-84">
+        The XmlRpcServlet allows to configure its "enabledForExtensions"
+        value as an init parameter.
+      </action>
+      <action dev="jochen" type="add">
+        It is now possible to create and initialize handler objects per
+        request.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-89">
+        Added partial support for automatic conversion of object arrays
+        to lists, or vectors. Same for maps to hash tables, or properties.
+      </action>
+    </release>
+    <release version="3.0a1" date="17-Feb-2005">
+      <action dev="jochen" type="add">
+        Complete rewrite, adding vendor extensions:
+        Streaming mode, support for all primitive Java types,
+        nulls, DOM elements, and JAXB objects.
+      </action>
+    </release>
+    <release version="2.0.2" date="Not yet released">
+      <action dev="jochen" type="fix" issue="XMLRPC-67"
+             due-to="Mike Bailey" due-to-email="mike at blueoak.com">
+        A missing increment in LiteXmlRpcTransport.initConnection()
+        prevented, that the method could finally fail, resulting
+        in a never ending loop.
+      </action>
+    </release>
+    <release version="2.0.1" date="28-Dec-2005">
+      <action dev="jochen" type="fix" issue="XMLRPC-68"
+                due-to="Johan Oskarson" due-to-email="johan at oskarsson.nu">
+             The Webserver class was unable to handle basic authentication,
+             because the BASE64 codec wasn't initialized.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-69"
+                due-to="Claude Zervas" due-to-email="claude at utlco.com">
+         The characters 0x20, 0xe000, and 0x10000 have been escaped
+         without reason.
+      </action>
+      <action dev="jochen" type="fix" issue="XMLRPC-73"
+               due-to="Thomas Mohaupt" due-to-email="Thomas.Mohaupt at 
gmail.com">
+         The wrong version of commons-codec was downloaded by build.xml.
+      </action>
+      <action dev="jochen" type="add"
+               due-to="Jimisola Laursen" due-to-email="[EMAIL PROTECTED]">
+         Added the CommonsXmlRpcTransportFactory.
+      </action>
+      <action dev="jochen" type="add"
+            due-to="Henry Story" due-to-email="[EMAIL PROTECTED]">
+          Added the possibility to specify a timezone for interpreting
+          incoming date values.
+      </action>
+      <action dev="jochen" type="add">
+          Upgrade to commons-httpclient 3.0.
+      </action>
+    </release>
   </body>
 </document>


Reply via email to