Available as of Camel version 2.11
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.
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<!-- we define the xml rpc data formats to be used -->
<dataFormats>
<xmlrpc id="xmlrpcRequest" request="true"/>
<xmlrpc id="xmlrpcResponse" request="false"/>
</dataFormats>
<route>
<from uri="direct:request"/>
<marshal ref="xmlrpcRequest"/>
<unmarshal>
<xmlrpc request="true"/>
</unmarshal>
<to uri="mock:request" />
</route>
<route>
<from uri="direct:response"/>
<marshal>
<xmlrpc request="false"/>
</marshal>
<unmarshal ref="xmlrpcResponse"/>
<to uri="mock:response" />
</route>
</camelContext>
XmlRpc Dataformat Options
The XML RPC dataformat supports 2 options, which are listed below.
Name | Default | Java Type | Description |
---|---|---|---|
request |
|
|
Whether to marshal/unmarshal request or response Is by default false |
contentTypeHeader |
|
|
Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |
Spring Boot Auto-Configuration
When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-xmlrpc-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
The component supports 5 options, which are listed below.
Name | Description | Default | Type |
---|---|---|---|
camel.component.xmlrpc.enabled |
Enable xmlrpc component |
true |
Boolean |
camel.component.xmlrpc.resolve-property-placeholders |
Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. |
true |
Boolean |
camel.dataformat.xmlrpc.content-type-header |
Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |
false |
Boolean |
camel.dataformat.xmlrpc.enabled |
Enable xmlrpc dataformat |
true |
Boolean |
camel.dataformat.xmlrpc.request |
Whether to marshal/unmarshal request or response Is by default false |
false |
Boolean |
ND