You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by jo...@apache.org on 2005/11/12 23:38:27 UTC

svn commit: r332854 - in /webservices/xmlrpc/branches/b20050512_streaming/src/site: ./ apt/ fml/ xdoc/ xdoc/images/

Author: jochen
Date: Sat Nov 12 14:38:04 2005
New Revision: 332854

URL: http://svn.apache.org/viewcvs?rev=332854&view=rev
Log:
Added preliminary docs.

Added:
    webservices/xmlrpc/branches/b20050512_streaming/src/site/
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/client.apt
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/contributing.apt
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/download.apt
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/index.apt
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/server.apt
    webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/types.apt
    webservices/xmlrpc/branches/b20050512_streaming/src/site/fml/
    webservices/xmlrpc/branches/b20050512_streaming/src/site/fml/faq.fml
    webservices/xmlrpc/branches/b20050512_streaming/src/site/site.xml
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/changes.xml
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/feather.gif   (with props)
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/group-logo.gif   (with props)
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/project-logo.jpg   (with props)
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xml-logo.gif   (with props)
    webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xmlrpc-logo.gif   (with props)

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/client.apt
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/client.apt?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/client.apt (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/client.apt Sat Nov 12 14:38:04 2005
@@ -0,0 +1,204 @@
+           -------------------------
+           The Apache XML-RPC Client
+           -------------------------
+
+The XmlRpcClient
+
+  Before talking to an XML-RPC server, you need an instance of
+  {{{apidocs/org/apache/xmlrpc/client/XmlRpcClient.html}XmlRpcClient}}.
+
+  The XmlRpcClient is a stateless, thread safe object. The clients
+  configuration occurs by setting the following objects:
+
+*------------------+--------------------------------------------------------------+
+| Name             | Description                                                  |
+*------------------+--------------------------------------------------------------+
+| ClientConfig     | This object is an instance of                                |
+|                  | {{{apidocs/org/apache/xmlrpc/client/XmlRpcClientConfig.html} |
+|                  | XmlRpcClientConfig}}. It has a lot of atomic properties,     |
+|                  | that specify details like server URL, credentials, character |
+|                  | set, and the like.                                           |
+*------------------+--------------------------------------------------------------+
+| TransportFactory | The task of the transport factory is to create an object,    |
+|                  | which uses the client configuration for talking to the       |
+|                  | server. For example, there is a transport factory, which     |
+|                  | uses the java.net classes. Another example is a transport    |
+|                  | factory based on the Jakarta Commons Http Client. However,   |
+|                  | transport factories don't need to use HTTP: An excellent     |
+|                  | example is the local transport factory, which talks to an    |
+|                  | embedded server. This last factory is, of course, very       |
+|                  | useful for debugging.                                        |
+*------------------+--------------------------------------------------------------+
+| XmlWriterFactory | The XmlWriter is an object, which creates XML for you.       |
+|                  | Typically, you do not need to care for this object, because  |
+|                  | the defaults should be fine. However, it is useful, if you   |
+|                  | need a special XML syntax.                                   |
+*------------------+--------------------------------------------------------------+
+
+  So, let's have a look at a first example:
+
+-----------------------------------------------------------------------------------
+    import org.apache.xmlrpc.client.XmlRpcClient;
+    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
+
+    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
+    config.setServerUrl("http://127.0.0.1:8080/xmlrpc");
+    XmlRpcClient client = new XmlRpcClient();
+    client.setConfig(config);
+    Object[] params = new Object[]{new Integer(33), new Integer(9)};
+    Integer result = (Integer) client.execute("Calculator.add", params);
+-----------------------------------------------------------------------------------
+
+  In other words, we invoke the remote method <Calculator.add>, passing the arguments
+  2 and 3.  Hopefully, we know <the answer>. :-) 
+
+The Transport Factory
+
+  The above example uses the java.net.URLConnection classes to talk to the server.
+  What, if you'd prefer to use the {{{http://jakarta.apache.org/commons/httpclient}
+  Jakarta HTTP Client}}? There's basically just a single line, you'd need to add:
+
+-----------------------------------------------------------------------------------
+    import org.apache.xmlrpc.client.XmlRpcClient;
+    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
+    import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;
+
+    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
+    config.setServerUrl("http://127.0.0.1:8080/XmlRpcServlet");
+    XmlRpcClient client = new XmlRpcClient();
+    client.setTransportFactory(new XmlRpcCommonsTransportFactory());
+    client.setConfig(config);
+    Object[] params = new Object[]{new Integer(2), new Integer(3)};
+    Integer result = (Integer) client.execute("Calculator.add", params);
+-----------------------------------------------------------------------------------
+
+  In other words, the transport factory determines the way, how the client
+  communicates with the server. The most important transport factories are:
+
+*--------------------------------+-------------------------------------------+
+| Name                           | Description                               |
+*--------------------------------+-------------------------------------------+
+| XmlRpcSunHttpTransportFactory  | This is the default factory, connecting   |
+|                                | to an HTTP server using the               |
+|                                | <<<java.net.HttpURLConnection>>>.         |
+*--------------------------------+-------------------------------------------+
+| XmlRpcCommonsTransportFactory  | Another HTTP transport factory, which     |
+|                                | uses the Jakarta Commons HttpClient.      |
+|                                | The main advantage over the default       |
+|                                | factory is, that the Commons HttpClient   |
+|                                | allows direct access to the result        |
+|                                | document. This allows a much lower        |
+|                                | memory profile.                           |
+*--------------------------------+-------------------------------------------+
+| XmlRpcLiteHttpTransportFactory | Yet another HTTP transport factory, which |
+|                                | is based on an own and very lightweight   |
+|                                | HTTP client. It is possibly the fastest   |
+|                                | of the HTTP transport factories. On the   |
+|                                | other hand, it doesn't support HTTP/1.1,  |
+|                                | thus cannot use keepalive connections.    |
+*--------------------------------+-------------------------------------------+
+| XmlRpcLocalTransportFactory    | This transport factory has an embedded    |
+|                                | XML-RPC server, which is invoked via      |
+|                                | direct Java calls. This is particularly   |
+|                                | useful for debugging and development.     |
+*--------------------------------+-------------------------------------------+
+
+The Client Configuration
+
+  The transport factory uses the clients configuration. Obviously, the
+  clients configuration depends on the transport factory. In particular,
+  different transport factories depend on different configuration types:
+
+    * The HTTP transport factories need an instance of
+      <<<org.apache.xmlrpc.client.XmlRpcHttpClientConfig>>>.
+
+    * The local transport factory requires an instance of
+ 
+      <<<org.apache.xmlrpc.client.XmlRpcLocalClientConfig>>>.
+
+  For convenience, you can simply use the
+  <<<org.apache.xmlrpc.client.XmlRpcClientConfigImpl>>>, which implements
+  both interfaces.
+
+  Let's have a look at the various properties, which HTTP client configurations
+  accept:
+
+*-----------------------+---------------------------------------------------+
+| Property Name         | Description                                       |
+*-----------------------+---------------------------------------------------+
+| basicUserName         | The user name and password, if your HTTP server   |
+| basicPassword         | requires basic authentication.                    |
+*-----------------------+---------------------------------------------------+
+| basicEncoding         | Specifies the encoding being used to create the   |
+|                       | base 64 encoded Authorization header, which is    |
+|                       | being used for basic authentication.              |
+|                       |                                                 |
+|                       | By default, the value of the encoding property    |
+|                       | is used. The encoding property itself defaults to |
+|                       | UTF-8.                                            |
+*-----------------------+---------------------------------------------------+
+| contentLengthOptional | Enables the faster and memory saving streaming    |
+|                       | mode: The client will not set the content-length  |
+|                       | header and the request is directly written to the |
+|                       | HTTP requests output stream. The XML-RPC          |
+|                       | specification requires setting a content-length   |
+|                       | header. For that reason, the streaming mode is    |
+|                       | only available, if the property                   |
+|                       | enabledForExtensions is set was well.             |
+*-----------------------+---------------------------------------------------+
+| enabledForExtensions  | Whether the vendor extensions of Apache XML-RPC   |
+|                       | should be enabled. By default, Apache XML-RPC is  |
+|                       | strictly compliant to the XML-RPC specification.  |
+|                       | Unfortunately, this specification has serious     |
+|                       | limitations. For example, it requires setting a   |
+|                       | content-length header. This enforces writing the  |
+|                       | XML-RPC request and response to byte arrays,      |
+|                       | before sending them over the net.                 |
+|                       |                                                   |
+|                       | Vendor extensions include the very fast and       |
+|                       | memory saving streaming mode (by disabling the    |
+|                       | content-length header), the compression of        |
+|                       | request and/or response. In particular, a lot of  |
+|                       | additional data types may be transmitted, when    |
+|                       | extensions are enabled: longs, shorts, bytes,     |
+|                       | floats, DOM nodes, instances of                   |
+|                       | java.io.Serializable, or JAXB objects.            |
+*-----------------------+---------------------------------------------------+
+| encoding              | Sets the encoding, which is used for creating the |
+|                       | XML-RPC request. The default encoding is UTF-8.   |
+|                       |                                                   |
+|                       | Typically, the encoding is also used for the      |
+|                       | basic authentications, if any. However, you may   |
+|                       | specify a different encoding for the credentials  |
+|                       | using the basicEncoding property.                 |
+*-----------------------+---------------------------------------------------+
+| gzipCompressing       | Whether the XML-RPC request should be compressed. |
+|                       | Request compression is violating the XML-RPC      |
+|                       | specification, that's why gzipCompressing is only |
+|                       | available, if the enabledForExtension property is |
+|                       | also set. For the same reason, you should not     |
+|                       | assume, that the server is able to handle         |
+|                       | compressed requests, unless you know, that the    |
+|                       | server is itself running the streaming branch of  |
+|                       | Apache XML-RPC.                                   |
+*-----------------------+---------------------------------------------------+
+| gzipRequesting        | Requests, that the server will be compressing the |
+|                       | response. Response compression is violating the   |
+|                       | XML-RPC specification. Therefore, this feature is |
+|                       | only available, if the enabledForExtension        |
+|                       | property is set. Also, do not assume, that the    |
+|                       | server will actually compress the response,       |
+|                       | it is an Apache XML-RPC, streaming branch, server.|
+*-----------------------+---------------------------------------------------+
+
+  And these properties are for configuring the local transport factory:
+  
+*-----------------------+---------------------------------------------------+
+| Property Name         | Description                                       |
+*-----------------------+---------------------------------------------------+
+| xmlRpcServer          | This is the embedded XML-RPC server, which is     |
+|                       | called to execute the clients requests.           |
+|                       | Obviously, this is an extremely fast transport.   |
+|                       | However, its main use is for debugging and        |
+|                       | development.                                      |
+*-----------------------+---------------------------------------------------+

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/contributing.apt
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/contributing.apt?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/contributing.apt (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/contributing.apt Sat Nov 12 14:38:04 2005
@@ -0,0 +1,19 @@
+                         ------------
+                         Contributing
+                         ------------
+
+Contributing
+
+  A great {{{http://jakarta.apache.org/site/contributing.html}description}}
+  of contributing to Apache XML-RPC is available from the Jakarta
+  project.
+
+Submitting Patches
+
+  The preferred patch format is unidiff. Emails containing
+  patches should be sent to the mailing list xmlrpc-dev@ws.apache.org, and
+  prefix their subject lines with <<[PATCH]>>. Patches are also
+  accepted via the {{{http://issues.apache.org/jira/browse/XMLRPC}issue tracker}}.
+  The Jakarta project provides a description of
+  {{{http://jakarta.apache.org/site/source.html}life with ASF source code}}
+  -- look for the <<Patches>> section.

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/download.apt
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/download.apt?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/download.apt (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/download.apt Sat Nov 12 14:38:04 2005
@@ -0,0 +1,14 @@
+                 ---------
+                 Downloads
+                 ---------
+
+Downloading Apache XML-RPC
+
+  You can download the latest release version from the
+  {{{http://www.apache.org/dyn/closer.cgi/ws/xmlrpc/}distribution directory}}.
+
+  Alternatively, you can get the latest code snapshot via
+  {{{http://svn.apache.org/repos/asf/webservices/xmlrpc}Subversion}}.
+
+  Information on how to build and use the software is included in the
+  package.

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/index.apt
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/index.apt?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/index.apt (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/index.apt Sat Nov 12 14:38:04 2005
@@ -0,0 +1,24 @@
+           --------------
+           Apache XML-RPC
+           --------------
+
+About Apache XML-RPC
+
+  Apache XML-RPC is a Java implementation of
+  {{{http://www.xmlrpc.com/}XML-RPC}}, a popular protocol that
+  uses XML over HTTP to implement remote procedure calls.
+
+  The streaming branch of Apache XML-RPC is still compliant to the
+  {{{http://www.xmlrpc.com/spec}XML-RPC specification}}.
+  However, the user may enable several vendor extensions
+  are available, that greatly extend the power of XML-RPC:
+
+  * All primitive Java types are supported, including long,
+    byte, short, and double.
+
+  * DOM nodes, or JAXB objects, can be transmitted. So are
+    objects implementing the java.io.Serializable interface.
+
+  * Both server and client can operate in a streaming mode,
+    which preserves resources much better than the default
+    mode, which is based on large internal byte arrays.

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/server.apt
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/server.apt?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/server.apt (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/server.apt Sat Nov 12 14:38:04 2005
@@ -0,0 +1,104 @@
+           -------------------------
+           The Apache XML-RPC Server
+           -------------------------
+
+
+Server-side XML-RPC
+
+  If you have read and understood the previous document about the
+  {{{./client.html}Apache XML-RPC client}}, then the server isn't too
+  much news.
+
+  First of all, there is an object, called the XmlRpcServer. This objects
+  purpose is to receive and execute XML-RPC calls by the clients. The
+  XmlRpcServer <<can>> be embedded into a servlet container, or another
+  HTTP server (for example, the minimal web server, that comes with
+  XML-RPC), but it doesn't need to. Take the local transport as an
+  example: In that case the XML-RPC server is simply embedded into the
+  client application.
+
+  Like the XmlRpcClient, the XmlRpcServer needs a configuration, which
+  is given by the XmlRpcServerConfigImpl object.
+
+The XML-RPC Servlet
+
+  The easiest of creating an XML-RPC Server is the XmlRpcServlet. This
+  servlet allows you to create a server within 10 minutes or so:
+
+    [[1]] Create a class, or a set of classes, which are implementing
+          the remote procedure calls. Here's an example of such a class:
+
+-----------------------------------------------------------------------------------
+    package org.apache.xmlrpc.demo;
+    public class Calculator {
+		public int add(int i1, int i2) {
+			return i1 + i2;
+		}
+		public int subtract(int i1, int i2) {
+			return i1 - i2;
+		}
+    }
+-----------------------------------------------------------------------------------
+
+          This class has two public, non-static methods, which should
+          be available to the clients. The only important thing to
+          consider is: The class must be stateless. In other words,
+          it must not contain any non-final fields. (The same restriction
+          applies, for example, to servlet classes.)
+
+    [[2]] Create a property file, which contains at least one property.
+          The property name is arbitrary, and the property value is the
+          fully qualified name of the Calculator class. For example, like
+          that:
+
+-----------------------------------------------------------------------------------
+    Calculator=org.apache.xmlrpc.demo.Calculator
+-----------------------------------------------------------------------------------
+
+          The property file must be called <<<XmlRpcServlet.properties>>>,
+          and it must be located in the package org.apache.xmlrpc.webserver.
+          In other words, you would typically put it into the directory
+          org/apache/xmlrpc/webserver and add it to your jar file.
+
+    [[3]] Add entries like the following to your war files web.xml:
+
+-----------------------------------------------------------------------------------
+    <servlet>
+        <servlet-name>XmlRpcServlet</servlet-name>
+        <servlet-class>org.apache.xmlrpc.webserver.XmlRpcServlet</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>XmlRpcServlet</servlet-name>
+        <url-pattern>/xmlrpc</url-pattern>
+    </servlet-mapping>
+-----------------------------------------------------------------------------------
+
+  That's it! You have just created your first XML-RPC server. :-)
+
+The Server configuration
+
+  Unlike in the case of the clients configuration, there isn't much to
+  configure on the server. The reason is, that most things depend on the
+  client and the HTTP headers, which are received by the client. There
+  is one very important property to configure, though:
+
+*-----------------------+---------------------------------------------------+
+| Property Name         | Description                                       |
+*-----------------------+---------------------------------------------------+
+| enabledForExtensions  | Whether the vendor extensions of Apache XML-RPC   |
+|                       | should be enabled. By default, Apache XML-RPC is  |
+|                       | strictly compliant to the XML-RPC specification.  |
+|                       |                                                   |
+|                       | Enabling this property doesn't indicate, that the |
+|                       | server is unable to serve requests by standard    |
+|                       | clients: In contrary, the servers behaviour       |
+|                       | depends on the client. Setting this property to   |
+|                       | true will only advice the server, that it <<may>> |
+|                       | accept requests, which ask for vendor extensions. |
+|                       |                                                   |
+|                       | For example, if a client sends a content-length   |
+|                       | header, then the server assumes, that the client  |
+|                       | <<wants>> a content-length header in the request  |
+|                       | and disables the streaming mode.                  |
+*-----------------------+---------------------------------------------------+
+

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/types.apt
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/types.apt?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/types.apt (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/apt/types.apt Sat Nov 12 14:38:04 2005
@@ -0,0 +1,72 @@
+           ------------------
+           XML-RPC Data Types
+           ------------------
+
+Data Types
+
+  The {{{http://www.xmlrpc.com/spec}XML-RPC specification}} defines the following
+  available data types:
+
+*--------------------+--------------------+-------------------------------------+
+| Java Type          | XML Tag Name       | Description                         |
+*--------------------+--------------------+-------------------------------------+
+| Integer            | <i4>, or           | A 32-bit, signed, and non-null,     |
+|                    | <int>              | integer value.                      |
+*--------------------+--------------------+-------------------------------------+
+| Boolean            | <boolean>          | A non-null, boolean value (0, or    |
+|                    |                    | 1).                                 |
+*--------------------+--------------------+-------------------------------------+
+| String             | <string>           | A string, non-null.                 |
+*--------------------+--------------------+-------------------------------------+
+| Double             | <double>           | A signed, non-null, double          |
+|                    |                    | precision, floating point number.   |
+|                    |                    | (64 bit)                            |
+*--------------------+--------------------+-------------------------------------+
+| java.util.Calendar | <dateTime.iso8601> | A pseudo ISO8601 timestamp, like    |
+| java.util.Date     |                    | 19980717T14:08:55. However,         |
+|                    |                    | compared to a true ISO8601 value,   |
+|                    |                    | milliseconds, and time zone         |
+|                    |                    | informations are missing.           |
+*--------------------+--------------------+-------------------------------------+
+| byte[]             | <base64>           | A base64 encoded byte array.        |
+*--------------------+--------------------+-------------------------------------+
+| java.util.Map      | <struct>           | A key value pair. The keys are      |
+|                    |                    | strings. The values may be any      |
+|                    |                    | valid data type, including another  |
+|                    |                    | map.                                |
+*--------------------+--------------------+-------------------------------------+
+| Object[]           | <array>            | An array of objects. The array      |
+| java.util.List     |                    | elements may be any valid data      |
+|                    |                    | type, including another array.      |
+*--------------------+--------------------+-------------------------------------+
+
+  If the property <<<enabledForExtensions>>> is set, then additional data
+  types become valid. (Both client and server do support this property.)
+
+*----------------------+--------------------+-------------------------------------+
+| Java Type            | XML Tag Name       | Description                         |
+*----------------------+--------------------+-------------------------------------+
+| None                 | <ex:nil>           | A typeless null value.              |
+*----------------------+--------------------+-------------------------------------+
+| Byte                 | <ex:i1>            | A 8-bit, signed, and non-null,      |
+|                      |                    | integer value.                      |
+*----------------------+--------------------+-------------------------------------+
+| Float                | <ex:float>         | A signed, non-null, double          |
+|                      |                    | precision, floating point number.   |
+|                      |                    | (32 bit)                            |
+*----------------------+--------------------+-------------------------------------+
+| org.w3c.dom.Node     | <ex:dom>           | A DOM node, which is being          |
+|                      |                    | transmitted as an embedded XML      |
+|                      |                    | fragment.                           |
+*----------------------+--------------------+-------------------------------------+
+| Short                | <ex:i2>            | A 16-bit, signed, and non-null,     |
+|                      |                    | integer value.                      |
+*----------------------+--------------------+-------------------------------------+
+| java.io.Serializable | <ex:serializable>  | An object, which is converted into  |
+|                      |                    | a serialized representation and     |
+|                      |                    | transmitted as a base 64 encoded    |
+|                      |                    | byte array.                         |
+*----------------------+--------------------+-------------------------------------+
+
+  In the above table, the prefix <<<ex>>> refers to the namespace URI
+  <<<http://ws.apache.org/xmlrpc/namespaces/extensions>>>.

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/fml/faq.fml
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/fml/faq.fml?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/fml/faq.fml (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/fml/faq.fml Sat Nov 12 14:38:04 2005
@@ -0,0 +1,84 @@
+<faqs title="FAQ">
+  <part id="general">
+    <faq id="state">
+      <question>What is the state of the streaming branch?</question>
+      <answer>
+        <p>Quite different from what you possibly want to hear: It
+          is not even alpha software.</p>
+        <p>It is a proposal, developed by <em>one developer</em> of
+          the Apache XML-RPC community. It has absolutely no formal
+          acceptance by the developer community. It isn't reviewed.</p>
+        <p>The purpose of the proposal is to recieve the communities
+          feedback. If the community refuses the streaming branch,
+          then it will possibly never even see a formal alpha release.
+          We'll have to see.</p>
+      </answer>
+    </faq>
+  </part>
+
+  <part id="client">
+    <faq id="compression_request">
+      <question>How do I enable request compression?</question>
+      <answer>
+        <p>That's simple: Set the properties "enabledForExtensions"
+          and "gzipCompressing". That said, note the following
+          hints:</p>
+        <ul>
+          <li>Setting these properties will only work, if the XML-RPC
+            server is aware of request compression. Compression is a
+            violation of the XML-RPC specification, so typically the
+            server will refuse the request, unless it is an Apache
+            XML-RPC server with version 2 or later. (Apache XML-RPC 2
+            supports request compression, although it was officially
+            designed to be strictly compliant to the XML-RPC specification.
+            However, noone was aware, that compression violates the
+            specification. :-)</li>
+          <li>Compressing the request doesn't mean that the response
+            will also be compressed. You need to request response
+            compression to achieve that.</li>
+        </ul>
+      </answer>
+    </faq>
+
+    <faq id="compression_response">
+      <question>How do I enable response compression?</question>
+      <answer>
+        <p>That's as simple as enabling request compression: Set the
+          properties "enabledForExtensions" and "gzipRequesting".
+          That said, note the following hints:</p>
+        <ul>
+          <li>Requesting gzip compression is a standard HTTP feature.
+            In other words, you may safely request compression from
+            any XML-RPC server, even if it doesn't run Apache XML-RPC.
+            </li>
+          <li>However, requesting compression doesn't necessarily mean,
+            that the response *is* compressed. It depends on the server.</li>
+        </ul>
+      </answer>
+    </faq>
+  </part>
+
+  <part id="server">
+    <faq id="streaming_mode">
+      <question>How do I enable streaming mode?</question>
+      <answer>
+        <p>Set the property "enabledForExtensions". Note, that enabling
+          the streaming mode doesn't mean, that all responses are served
+          in streaming mode. It depends on the clients:</p>
+        <ul>
+          <li>If a client sends a content-length header, then the server
+            assumes, that the client is a traditional XML-RPC application
+            and doesn't support the vendor extensions from Apache XML-RPC.
+            Consequently, the server assumes, that it needs to set the
+            content-length header itself and disables the streaming mode
+            for that particular request.</li>
+          <li>However, if the client doesn't send a content-length header,
+            then the server assumes that it will be able to accept any
+            standard HTTP/1.1 request and enable the streaming mode.
+            Streaming mode means, in particular, that the response will
+            not contain a content-length header.</li>
+        </ul>
+      </answer>
+    </faq>
+  </part>
+</faqs>

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/site.xml
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/site.xml?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/site.xml (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/site.xml Sat Nov 12 14:38:04 2005
@@ -0,0 +1,26 @@
+<project name="Maven">
+  <bannerLeft>
+    <name>Apache XML-RPC</name>
+    <src>http://ws.apache.org/xmlrpc/images/xmlrpc-logo.gif</src>
+    <href>http://ws.apache.org/xmlrpc/</href>
+  </bannerLeft>
+  <body>
+    <links>
+      <item name="Apache" href="http://www.apache.org/"/>
+      <item name="Webservices" href="http://ws.apache.org/"/>
+      <item name="XML-RPC" href="http://ws.apache.org/xmlrpc/"/>
+    </links>
+
+    <menu name="XML-RPC">
+      <item name="Overview"            href="/index.html"/>
+      <item name="Client Classes"      href="/client.html"/>
+      <item name="Server Side XML-RPC" href="/server.html"/>
+      <item name="XML-RPC Types"       href="/types.html"/>
+      <item name="Download"            href="/download.html"/>
+      <item name="FAQ"                 href="/faq.html"/>
+      <item name="Contributing"        href="/contributing.html"/>
+    </menu>
+
+    ${reports}
+
+  </body></project>

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/changes.xml
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/changes.xml?rev=332854&view=auto
==============================================================================
--- webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/changes.xml (added)
+++ webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/changes.xml Sat Nov 12 14:38:04 2005
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<document>
+  <properties>
+    <title>Changes</title>
+    <author email="sgoeschl@apache.org">Siegfried Goeschl</author>
+  </properties>
+
+  <body>
+    <release version="2.x-streaming-dev">
+      <action dev="jochen">
+        Complete rewrite with vendor extensions.
+      </action>
+    </release>
+    <release version="2.0-beta" date="2005-Apr-27">
+      <action dev="sgoeschl" type="fix">
+        Fixed broken ANT build after upgrading to commons-codec-1.3.jar
+      </action>          
+      <action dev="sgoeschl" type="update">
+        Upgrading to commons-codec-1.3.jar
+      </action>          
+      <action dev="hgomez" type="update">
+        Upgrading to Apache Licence 2.0
+      </action>    
+      <action dev="hgomez" type="update">
+        CommonsXmlRpcTransport support gzip compression for request and reply 
+      </action>    
+      <action dev="sgoeschl" type="update">
+        Rewrote the xdocs/changes.xml to be used with the Maven build        
+      </action>    
+      <action dev="sgoeschl" type="update">
+        Removed the dependency of fesi-1.1.5.jar since it is not used
+        with the current Ant/Maven build
+      </action>    
+      <action dev="sgoeschl" type="update">
+        Updated the Maven build to run nicely with Maven 1.0.2
+      </action>    
+      <action dev="sgoeschl" type="update">
+        Updated the ANT build to download dependend JARs automagically
+      </action>    
+    </release>
+  </body>
+</document>
+

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/feather.gif
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/feather.gif?rev=332854&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/feather.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/group-logo.gif
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/group-logo.gif?rev=332854&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/group-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/project-logo.jpg
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/project-logo.jpg?rev=332854&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/project-logo.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xml-logo.gif
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xml-logo.gif?rev=332854&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xml-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xmlrpc-logo.gif
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xmlrpc-logo.gif?rev=332854&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/xmlrpc/branches/b20050512_streaming/src/site/xdoc/images/xmlrpc-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream