You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/06/09 09:57:03 UTC

[2/2] camel git commit: Added camel-xmlrpc docs to Gitbook

Added camel-xmlrpc docs to Gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3bb6b4d4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3bb6b4d4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3bb6b4d4

Branch: refs/heads/master
Commit: 3bb6b4d4dada6bb08afb5188b7d693b210898edd
Parents: d8fae67
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Jun 9 11:56:38 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Jun 9 11:56:38 2016 +0200

----------------------------------------------------------------------
 .../camel-xmlrpc/src/main/docs/xmlrpc.adoc      | 187 +++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 2 files changed, 188 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3bb6b4d4/components/camel-xmlrpc/src/main/docs/xmlrpc.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xmlrpc/src/main/docs/xmlrpc.adoc b/components/camel-xmlrpc/src/main/docs/xmlrpc.adoc
new file mode 100644
index 0000000..6f9e316
--- /dev/null
+++ b/components/camel-xmlrpc/src/main/docs/xmlrpc.adoc
@@ -0,0 +1,187 @@
+[[XmlRpc-XmlRpcComponent]]
+XmlRpc Component
+~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.11*
+
+This component provides a dataformat for xml, which allows serialization
+and deserialization of request messages and response message using
+Apache XmlRpc's binary dataformat. You can also invoke the XMLRPC
+Service through the camel-xmlrpc producer.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-xmlrpc</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[XmlRpc-XmlRpcOverview]]
+XmlRpc Overview
+^^^^^^^^^^^^^^^
+
+It's a http://xmlrpc.scripting.com/spec[spec] and a set of
+implementations that allow software running on disparate operating
+systems, running in different environments to make procedure calls over
+the Internet.
+
+It's remote procedure calling using HTTP as the transport and XML as the
+encoding. XML-RPC is designed to be as simple as possible, while
+allowing complex data structures to be transmitted, processed and
+returned.
+
+An example of a typical XML-RPC request would be:
+
+[source,java]
+------------------------------------------------
+<?xml version="1.0"?>
+<methodCall>
+  <methodName>examples.getStateName</methodName>
+  <params>
+    <param>
+        <value><i4>40</i4></value>
+    </param>
+  </params>
+</methodCall>
+------------------------------------------------
+
+An example of a typical XML-RPC response would be:
+
+[source,java]
+----------------------------------------------------
+<?xml version="1.0"?>
+<methodResponse>
+  <params>
+    <param>
+        <value><string>South Dakota</string></value>
+    </param>
+  </params>
+</methodResponse>
+----------------------------------------------------
+
+A typical XML-RPC fault would be:
+
+[source,java]
+--------------------------------------------------------------
+<?xml version="1.0"?>
+<methodResponse>
+  <fault>
+    <value>
+      <struct>
+        <member>
+          <name>faultCode</name>
+          <value><int>4</int></value>
+        </member>
+        <member>
+          <name>faultString</name>
+          <value><string>Too many parameters.</string></value>
+        </member>
+      </struct>
+    </value>
+  </fault>
+</methodResponse>
+--------------------------------------------------------------
+
+[[XmlRpc-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+----------------------------
+xmlrpc://serverUri[?options]
+----------------------------
+
+[[XmlRpc-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The XML RPC component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The XML RPC component supports 20 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| address | producer |  | String | *Required* The server url
+| basicEncoding | producer |  | String | Sets the encoding for basic authentication null means UTF-8 is chosen.
+| connectionTimeout | producer |  | int | Set the connection timeout in milliseconds 0 is to disable it
+| contentLengthOptional | producer | false | boolean | Whether a Content-Length header may be omitted. The XML-RPC specification demands that such a header be present.
+| defaultMethodName | producer |  | String | The method name which would be used for the xmlrpc requests by default if the Message header CamelXmlRpcMethodName is not set.
+| enabledForExceptions | producer | false | boolean | Whether the response should contain a faultCause element in case of errors. The faultCause is an exception which the server has trapped and written into a byte stream as a serializable object.
+| enabledForExtensions | producer | false | boolean | Whether extensions are enabled. By default the client or server is strictly compliant to the XML-RPC specification and extensions are disabled.
+| encoding | producer |  | String | Sets the requests encoding null means UTF-8 is chosen.
+| gzipCompressing | producer | false | boolean | Whether gzip compression is being used for transmitting the request.
+| gzipRequesting | producer | false | boolean | Whether gzip compression is being used for transmitting the request.
+| replyTimeout | producer |  | int | Set the reply timeout in milliseconds 0 is to disable it.
+| clientConfig | advanced |  | XmlRpcClientConfigImpl | To use the given XmlRpcClientConfigImpl as configuration for the client.
+| clientConfigurer | advanced |  | XmlRpcClientConfigurer | To use a custom XmlRpcClientConfigurer to configure the client
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default exchange pattern when creating an exchange
+| synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
+| timeZone | advanced |  | TimeZone | The timezone which is used to interpret date/time. Defaults to link TimeZonegetDefault().
+| userAgent | advanced |  | String | The http user agent header to set when doing xmlrpc requests
+| xmlRpcServer | advanced |  | XmlRpcRequestProcessor | To use a custom XmlRpcRequestProcessor as server.
+| basicPassword | security |  | String | The password for basic authentication.
+| basicUserName | security |  | String | The user name for basic authentication.
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+[[XmlRpc-MessageHeaders]]
+Message Headers
+^^^^^^^^^^^^^^^
+
+Camel XmlRpc uses these headers.
+
+[width="100%",cols="10%,90%",options="header",]
+|=======================================================================
+|Header |Description
+
+|`CamelXmlRpcMethodName` |The XmlRpc method name which will be use for invoking the XmlRpc server.
+|=======================================================================
+
+[[XmlRpc-UsingtheXmlRpcdataformat]]
+Using the XmlRpc data format
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+As the XmlRpc message could be request or response, when you use the
+XmlRpcDataFormat, you need to specify the dataformat is for request or
+not.
+
+[[XmlRpc-InvokeXmlRpcServicefromClient]]
+Invoke XmlRpc Service from Client
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To invoke the XmlRpc service, you need to specify the methodName on the
+message header and put the parameters into the message body like below
+code, then you can get the result message as you want. If the fault
+message is return, you should get an exception which cause if
+XmlRpcException.
+
+[source,java]
+-------------------------------------------------------------------------------------------------------------------------------------------------
+   String response = template.requestBodyAndHeader(xmlRpcServiceAddress, new Object[]{"me"}, XmlRpcConstants.METHOD_NAME, "hello", String.class);
+-------------------------------------------------------------------------------------------------------------------------------------------------
+
+[[XmlRpc-HowtoconfiguretheXmlRpcClientwithJavacode]]
+How to configure the XmlRpcClient with Java code
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+camel-xmlrpc provides a pluggable strategy for configuring the
+XmlRpcClient used by the component, user just to implement the
+*XmlRpcClientConfigurer* interface and can configure the XmlRpcClient as
+he wants. The clientConfigure instance reference can be set through the
+uri option clientConfigure.

http://git-wip-us.apache.org/repos/asf/camel/blob/3bb6b4d4/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 279c0aa..deeab44 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -300,6 +300,7 @@
     * [Univocity Parsers](univocity-parsers.adoc)
     * [XML Beans](xmlbeans.adoc)
     * [XML JSON](xmljson.adoc)
+    * [XML Rpc](xmlrpc.adoc)
     * [YAML](yaml.adoc)
 
 * User Guide