Author: buildbot
Date: Fri May 13 18:21:15 2016
New Revision: 988163
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/book-component-appendix.html
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/servlet.html
Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Fri May 13
18:21:15 2016
@@ -1017,11 +1017,11 @@ template.send("direct:alias-verify&
]]></script>
</div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul><li><a
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2
id="BookComponentAppendix-CXFComponent">CXF Component</h2><div
class="confluence-information-macro confluence-information-macro-note"><span
class="aui-icon aui-icon-small aui-iconfont-warning
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF as a consumer, the
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows
you to factor out how message payloads are received from their processing as a
RESTful or SOAP web service. This has the potential of using a multitude of
transports to cons
ume web services. The bean component's configuration is also simpler and
provides the fastest method to implement web services using Camel and
CXF.</p></div></div><div class="confluence-information-macro
confluence-information-macro-tip"><span class="aui-icon aui-icon-small
aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF in streaming modes
(see DataFormat option), then also read about <a shape="rect"
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The
<strong>cxf:</strong> component provides integration with <a shape="rect"
href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1463152671305 {padding: 0px;}
-div.rbtoc1463152671305 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463152671305 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463163495558 {padding: 0px;}
+div.rbtoc1463163495558 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463163495558 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1463152671305">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463163495558">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookComponentAppendix-CXFComponent">CXF Component</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect"
href="#BookComponentAppendix-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions
of the dataformats</a>
@@ -8814,7 +8814,19 @@ int size = seda.getExchanges().size();
</div></div><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Stream</p><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Servlet is stream based, which
means the input it receives is submitted to Camel as a stream. That means you
will only be able to read the content of the stream <strong>once</strong>. If
you find a situation where the message body appears to be empty or you need to
access the data multiple times (eg: doing multicasting, or redelivery error
handling) you should use <a shape="rect" href="stream-caching.html">Stream
caching</a> or convert the message body to a <code>String</code> which is safe
to be read multiple times.</p></div></div><h3
id="BookComponentAppendix-URIformat.59">URI format</h3><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[servlet://relative_path[?options]
]]></script>
-</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="BookComponentAppendix-Options.46">Options</h3><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>httpBindingRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation
can be used to customize how to write a response.</p></td></tr><tr><td
colspan="1" rowspan="1" cl
ass="confluenceTd"><code><span>httpBinding</span></code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference
to an </span><code>org.apache.camel.component.http.HttpBinding</code><span> in
the </span><a shape="rect" href="registry.html">Registry</a><span>. A
</span><code>HttpBinding</code><span> implementation can be used to customize
how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether or not the
<code>CamelServlet</code> should try to find a target consumer by matching the
URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td
colspan="1" rowspan="1" class="con
fluenceTd"><p><code>CamelServlet</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint
will bind to. This name should match the name you define in
<code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code><span style="color:
rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span
style="color: rgb(0,0,0);"> </span><strong>Consumer only</strong><span
style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. </span><span style="color:
rgb(0,0,0);">From </span><strong>Camel 2.15 </strong><span style="color:
rgb(0,0,0);">onwards multiple methods can be specified separated by
comma.</span></td></tr></tbody></table></div></div><h3
id="BookComponentAppendix-MessageH
eaders.17">Message Headers</h3><p>Camel will apply the same Message Headers as
the <a shape="rect" href="http.html">HTTP</a> component.</p><p>Camel will also
populate <strong>all</strong> <code>request.parameter</code> and
<code>request.headers</code>. For example, if a client request has the URL,
<code><a shape="rect" class="external-link"
href="http://myserver/myserver?orderid=123"
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange
will contain a header named <code>orderid</code> with the value 123.</p><h3
id="BookComponentAppendix-Usage.6">Usage</h3><p>You can consume only from
endpoints generated by the Servlet component. Therefore, it should be used only
as input into your Camel routes. To issue HTTP requests against other HTTP
endpoints, use the <a shape="rect" href="http.html">HTTP Component</a></p><h3
id="BookComponentAppendix-PuttingCamelJARsintheappserverbootclasspath">Putting
Camel JARs in the app server boot classpath</h3><p>If you put the Camel
JARs such as <code>camel-core</code>, <code>camel-servlet</code>, etc. in the
boot classpath of your application server (eg usually in its lib directory),
then mind that the servlet mapping list is now shared between multiple deployed
Camel application in the app server.</p><p>Mind that putting Camel JARs in the
boot classpath of the application server is generally not best
practice!</p><p>So in those situations you <strong>must</strong> define a
custom and unique servlet name in each of your Camel application, eg in the
<code>web.xml</code> define:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="BookComponentAppendix-Options.46">Options</h3><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>httpBindingRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation
can be used to customize how to write a response.</p></td></tr><tr><td
colspan="1" rowspan="1" cl
ass="confluenceTd"><code><span>httpBinding</span></code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference
to an </span><code>org.apache.camel.component.http.HttpBinding</code><span> in
the </span><a shape="rect" href="registry.html">Registry</a><span>. A
</span><code>HttpBinding</code><span> implementation can be used to customize
how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether or not the
<code>CamelServlet</code> should try to find a target consumer by matching the
URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td
colspan="1" rowspan="1" class="con
fluenceTd"><p><code>CamelServlet</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint
will bind to. This name should match the name you define in
<code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code><span style="color:
rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span
style="color: rgb(0,0,0);"> </span><strong>Consumer only</strong><span
style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. </span><span style="color:
rgb(0,0,0);">From </span><strong>Camel 2.15 </strong><span style="color:
rgb(0,0,0);">onwards multiple methods can be specified separated by
comma.</span></td></tr></tbody></table></div></div><h3
id="BookComponentAppendix-MessageH
eaders.17">Message Headers</h3><p>Camel will apply the same Message Headers as
the <a shape="rect" href="http.html">HTTP</a> component.</p><p>Camel will also
populate <strong>all</strong> <code>request.parameter</code> and
<code>request.headers</code>. For example, if a client request has the URL,
<code><a shape="rect" class="external-link"
href="http://myserver/myserver?orderid=123"
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange
will contain a header named <code>orderid</code> with the value 123.</p><h3
id="BookComponentAppendix-Usage.6">Usage</h3><p>You can consume only from
endpoints generated by the Servlet component. Therefore, it should be used only
as input into your Camel routes. To issue HTTP requests against other HTTP
endpoints, use the <a shape="rect" href="http.html">HTTP Component</a></p><h3
id="BookComponentAppendix-UsingServlet3.0AsyncMode">Using Servlet 3.0 Async
Mode</h3><p><strong>Available as of Camel 2.18</strong></p><p>You can conf
igure the servlet with an init-param to turn on async mode when using a
Servlet 3.x container. There is a sample XML configuration below:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ <servlet>
+ <servlet-name>CamelServlet</servlet-name>
+ <display-name>Camel Http Transport Servlet</display-name>
+
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
+ <init-param>
+ <param-name>async</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <async-supported>true</async-supported>
+ </servlet>]]></script>
+</div></div><p> </p><h3
id="BookComponentAppendix-PuttingCamelJARsintheappserverbootclasspath">Putting
Camel JARs in the app server boot classpath</h3><p>If you put the Camel JARs
such as <code>camel-core</code>, <code>camel-servlet</code>, etc. in the boot
classpath of your application server (eg usually in its lib directory), then
mind that the servlet mapping list is now shared between multiple deployed
Camel application in the app server.</p><p>Mind that putting Camel JARs in the
boot classpath of the application server is generally not best
practice!</p><p>So in those situations you <strong>must</strong> define a
custom and unique servlet name in each of your Camel application, eg in the
<code>web.xml</code> define:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
@@ -8860,7 +8872,7 @@ int size = seda.getExchanges().size();
</web-app>
]]></script>
-</div></div><p>Then you can define your route as follows:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>Then you can define your route as follows:<div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("servlet:hello?matchOnUriPrefix=true").process(new Processor() {
public void process(Exchange exchange) throws Exception {
@@ -8899,7 +8911,7 @@ from("servlet:hello?matchOnUriPrefi
</servlet>
<web-app>
]]></script>
-</div></div><h4 id="BookComponentAppendix-SamplewhenusingOSGi">Sample when
using OSGi</h4><p>From <strong>Camel 2.6.0</strong>, you can publish the <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
as an OSGi service with help of SpringDM like this.</p><div
class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>Then
use this service in your camel route like this:</p><div class="error"><span
class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>For
versions prior to Camel 2.6 you can use an <code>Activator</code> to publish
the <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/c
amel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
on the OSGi platform</p><div class="error"><span class="error">Error
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20,
Size: 20</span> </div><p></p><h3 id="BookComponentAppendix-SeeAlso.56">See
Also</h3>
+</div></div><h4 id="BookComponentAppendix-SamplewhenusingOSGi">Sample when
using OSGi</h4><p>From <strong>Camel 2.6.0</strong>, you can publish the <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
as an OSGi service with help of SpringDM like this.</p><div
class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>Then use
this service in your camel route like this:<div class="error"><span
class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>For
versions prior to Camel 2.6 you can use an <code>Activator</code> to publish
the <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/compo
nent/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a> on
the OSGi platform<div class="error"><span class="error">Error formatting macro:
snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span>
</div><h3 id="BookComponentAppendix-SeeAlso.56">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul
class="alternate"><li><a shape="rect"
href="servlet-tomcat-example.html">Servlet Tomcat Example</a></li><li><a
shape="rect" href="servlet-tomcat-no-spring-example.html">Servlet Tomcat No
Spring Example</a></li><li><a shape="rect" href="http.html">HTTP</a></li><li><a
shape="rect" href="jetty.html">Jetty</a></li></ul> <h2
id="BookComponentAppendix-ShiroSecurityComponent">Shiro Security
Component</h2><p><strong>Available as of Camel 2.5</strong></p><p>The
<strong>shiro-security</strong> component in Camel is a security focused
component, based on the Apache Shiro security project.</p><p>Apache Shiro is a
powerful and flexible open-source security framework that cleanly handles
authentication, authorization, ente
rprise session management and cryptography. The objective of the Apache Shiro
project is to provide the most robust and comprehensive application security
framework available while also being very easy to understand and extremely
simple to use.</p><p>This camel shiro-security component allows authentication
and authorization support to be applied to different segments of a camel
route.</p><p>Shiro security is applied on a route using a Camel Policy. A
Policy in Camel utilizes a strategy pattern for applying interceptors on Camel
Processors. It offering the ability to apply cross-cutting concerns (for
example. security, transactions etc) on sections/segments of a camel
route.</p><p>Maven users will need to add the following dependency to their
<code>pom.xml</code> for this component:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Fri May 13 18:21:15
2016
@@ -3615,11 +3615,11 @@ The tutorial has been designed in two pa
While not actual tutorials you might find working through the source of the
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
<h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring
Remoting with JMS</h2><p> </p><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Thanks</p><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>This tutorial was kindly donated
to Apache Camel by Martin Gilday.</p></div></div><h2
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the
reader through the stages of creating a project which uses Camel to facilitate
the routing of messages from a JMS queue to a <a shape="rect"
class="external-link" href="http://www.springramework.org"
rel="nofollow">Spring</a> service. The route works in a synchronous fashion
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1463152726736 {padding: 0px;}
-div.rbtoc1463152726736 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463152726736 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463163558441 {padding: 0px;}
+div.rbtoc1463163558441 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463163558441 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1463152726736">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463163558441">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring
Remoting with JMS</a></li><li><a shape="rect"
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect"
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect"
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect"
href="#BookInOnePage-About">About</a></li><li><a shape="rect"
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with
Dependencies</a></li></ul>
</li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the
Server</a>
@@ -5734,11 +5734,11 @@ So we completed the last piece in the pi
<p>This example has been removed from <strong>Camel 2.9</strong> onwards.
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1463152728191 {padding: 0px;}
-div.rbtoc1463152728191 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463152728191 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463163560392 {padding: 0px;}
+div.rbtoc1463163560392 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463163560392 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1463152728191">
+/*]]>*/</style><div class="toc-macro rbtoc1463163560392">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis
1.4 with Apache Camel</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect"
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect"
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect"
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to
run Axis</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect"
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect"
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a
shape="rect" href="#BookInOnePage-RunningtheExample">Running the
Example</a></li></ul>
@@ -17135,11 +17135,11 @@ template.send("direct:alias-verify&
]]></script>
</div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul><li><a
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2
id="BookInOnePage-CXFComponent">CXF Component</h2><div
class="confluence-information-macro confluence-information-macro-note"><span
class="aui-icon aui-icon-small aui-iconfont-warning
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF as a consumer, the
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows
you to factor out how message payloads are received from their processing as a
RESTful or SOAP web service. This has the potential of using a multitude of
transports to consume web
services. The bean component's configuration is also simpler and provides the
fastest method to implement web services using Camel and
CXF.</p></div></div><div class="confluence-information-macro
confluence-information-macro-tip"><span class="aui-icon aui-icon-small
aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF in streaming modes
(see DataFormat option), then also read about <a shape="rect"
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The
<strong>cxf:</strong> component provides integration with <a shape="rect"
href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1463152779342 {padding: 0px;}
-div.rbtoc1463152779342 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463152779342 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463163582079 {padding: 0px;}
+div.rbtoc1463163582079 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463163582079 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1463152779342">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463163582079">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-CXFComponent">CXF Component</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect"
href="#BookInOnePage-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the
dataformats</a>
@@ -24932,7 +24932,19 @@ int size = seda.getExchanges().size();
</div></div><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Stream</p><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Servlet is stream based, which
means the input it receives is submitted to Camel as a stream. That means you
will only be able to read the content of the stream <strong>once</strong>. If
you find a situation where the message body appears to be empty or you need to
access the data multiple times (eg: doing multicasting, or redelivery error
handling) you should use <a shape="rect" href="stream-caching.html">Stream
caching</a> or convert the message body to a <code>String</code> which is safe
to be read multiple times.</p></div></div><h3
id="BookInOnePage-URIformat.60">URI format</h3><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[servlet://relative_path[?options]
]]></script>
-</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="BookInOnePage-Options.67">Options</h3><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>httpBindingRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation
can be used to customize how to write a response.</p></td></tr><tr><td
colspan="1" rowspan="1" class="con
fluenceTd"><code><span>httpBinding</span></code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference
to an </span><code>org.apache.camel.component.http.HttpBinding</code><span> in
the </span><a shape="rect" href="registry.html">Registry</a><span>. A
</span><code>HttpBinding</code><span> implementation can be used to customize
how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether or not the
<code>CamelServlet</code> should try to find a target consumer by matching the
URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td
colspan="1" rowspan="1" class="confluenceT
d"><p><code>CamelServlet</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint
will bind to. This name should match the name you define in
<code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code><span style="color:
rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span
style="color: rgb(0,0,0);"> </span><strong>Consumer only</strong><span
style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. </span><span style="color:
rgb(0,0,0);">From </span><strong>Camel 2.15 </strong><span style="color:
rgb(0,0,0);">onwards multiple methods can be specified separated by
comma.</span></td></tr></tbody></table></div></div><h3
id="BookInOnePage-MessageHeaders.17">Messa
ge Headers</h3><p>Camel will apply the same Message Headers as the <a
shape="rect" href="http.html">HTTP</a> component.</p><p>Camel will also
populate <strong>all</strong> <code>request.parameter</code> and
<code>request.headers</code>. For example, if a client request has the URL,
<code><a shape="rect" class="external-link"
href="http://myserver/myserver?orderid=123"
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange
will contain a header named <code>orderid</code> with the value 123.</p><h3
id="BookInOnePage-Usage.7">Usage</h3><p>You can consume only from endpoints
generated by the Servlet component. Therefore, it should be used only as input
into your Camel routes. To issue HTTP requests against other HTTP endpoints,
use the <a shape="rect" href="http.html">HTTP Component</a></p><h3
id="BookInOnePage-PuttingCamelJARsintheappserverbootclasspath">Putting Camel
JARs in the app server boot classpath</h3><p>If you put the Camel JARs such as
<code>camel-core</
code>, <code>camel-servlet</code>, etc. in the boot classpath of your
application server (eg usually in its lib directory), then mind that the
servlet mapping list is now shared between multiple deployed Camel application
in the app server.</p><p>Mind that putting Camel JARs in the boot classpath of
the application server is generally not best practice!</p><p>So in those
situations you <strong>must</strong> define a custom and unique servlet name in
each of your Camel application, eg in the <code>web.xml</code> define:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="BookInOnePage-Options.67">Options</h3><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>httpBindingRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation
can be used to customize how to write a response.</p></td></tr><tr><td
colspan="1" rowspan="1" class="con
fluenceTd"><code><span>httpBinding</span></code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference
to an </span><code>org.apache.camel.component.http.HttpBinding</code><span> in
the </span><a shape="rect" href="registry.html">Registry</a><span>. A
</span><code>HttpBinding</code><span> implementation can be used to customize
how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether or not the
<code>CamelServlet</code> should try to find a target consumer by matching the
URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td
colspan="1" rowspan="1" class="confluenceT
d"><p><code>CamelServlet</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint
will bind to. This name should match the name you define in
<code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code><span style="color:
rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span
style="color: rgb(0,0,0);"> </span><strong>Consumer only</strong><span
style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. </span><span style="color:
rgb(0,0,0);">From </span><strong>Camel 2.15 </strong><span style="color:
rgb(0,0,0);">onwards multiple methods can be specified separated by
comma.</span></td></tr></tbody></table></div></div><h3
id="BookInOnePage-MessageHeaders.17">Messa
ge Headers</h3><p>Camel will apply the same Message Headers as the <a
shape="rect" href="http.html">HTTP</a> component.</p><p>Camel will also
populate <strong>all</strong> <code>request.parameter</code> and
<code>request.headers</code>. For example, if a client request has the URL,
<code><a shape="rect" class="external-link"
href="http://myserver/myserver?orderid=123"
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange
will contain a header named <code>orderid</code> with the value 123.</p><h3
id="BookInOnePage-Usage.7">Usage</h3><p>You can consume only from endpoints
generated by the Servlet component. Therefore, it should be used only as input
into your Camel routes. To issue HTTP requests against other HTTP endpoints,
use the <a shape="rect" href="http.html">HTTP Component</a></p><h3
id="BookInOnePage-UsingServlet3.0AsyncMode">Using Servlet 3.0 Async
Mode</h3><p><strong>Available as of Camel 2.18</strong></p><p>You can configure
the servlet with an init-p
aram to turn on async mode when using a Servlet 3.x container. There is a
sample XML configuration below:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ <servlet>
+ <servlet-name>CamelServlet</servlet-name>
+ <display-name>Camel Http Transport Servlet</display-name>
+
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
+ <init-param>
+ <param-name>async</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <async-supported>true</async-supported>
+ </servlet>]]></script>
+</div></div><p> </p><h3
id="BookInOnePage-PuttingCamelJARsintheappserverbootclasspath">Putting Camel
JARs in the app server boot classpath</h3><p>If you put the Camel JARs such as
<code>camel-core</code>, <code>camel-servlet</code>, etc. in the boot classpath
of your application server (eg usually in its lib directory), then mind that
the servlet mapping list is now shared between multiple deployed Camel
application in the app server.</p><p>Mind that putting Camel JARs in the boot
classpath of the application server is generally not best practice!</p><p>So in
those situations you <strong>must</strong> define a custom and unique servlet
name in each of your Camel application, eg in the <code>web.xml</code>
define:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
@@ -24978,7 +24990,7 @@ int size = seda.getExchanges().size();
</web-app>
]]></script>
-</div></div><p>Then you can define your route as follows:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>Then you can define your route as follows:<div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("servlet:hello?matchOnUriPrefix=true").process(new Processor() {
public void process(Exchange exchange) throws Exception {
@@ -25017,7 +25029,7 @@ from("servlet:hello?matchOnUriPrefi
</servlet>
<web-app>
]]></script>
-</div></div><h4 id="BookInOnePage-SamplewhenusingOSGi">Sample when using
OSGi</h4><p>From <strong>Camel 2.6.0</strong>, you can publish the <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
as an OSGi service with help of SpringDM like this.</p><div
class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>Then
use this service in your camel route like this:</p><div class="error"><span
class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>For
versions prior to Camel 2.6 you can use an <code>Activator</code> to publish
the <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/com
ponent/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
on the OSGi platform</p><div class="error"><span class="error">Error formatting
macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span>
</div><p></p><h3 id="BookInOnePage-SeeAlso.76">See Also</h3>
+</div></div><h4 id="BookInOnePage-SamplewhenusingOSGi">Sample when using
OSGi</h4><p>From <strong>Camel 2.6.0</strong>, you can publish the <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
as an OSGi service with help of SpringDM like this.</p><div
class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>Then use
this service in your camel route like this:<div class="error"><span
class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>For
versions prior to Camel 2.6 you can use an <code>Activator</code> to publish
the <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/ser
vlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a> on the OSGi
platform<div class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><h3
id="BookInOnePage-SeeAlso.76">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul
class="alternate"><li><a shape="rect"
href="servlet-tomcat-example.html">Servlet Tomcat Example</a></li><li><a
shape="rect" href="servlet-tomcat-no-spring-example.html">Servlet Tomcat No
Spring Example</a></li><li><a shape="rect" href="http.html">HTTP</a></li><li><a
shape="rect" href="jetty.html">Jetty</a></li></ul> <h2
id="BookInOnePage-ShiroSecurityComponent">Shiro Security
Component</h2><p><strong>Available as of Camel 2.5</strong></p><p>The
<strong>shiro-security</strong> component in Camel is a security focused
component, based on the Apache Shiro security project.</p><p>Apache Shiro is a
powerful and flexible open-source security framework that cleanly handles
authentication, authorization, enterprise s
ession management and cryptography. The objective of the Apache Shiro project
is to provide the most robust and comprehensive application security framework
available while also being very easy to understand and extremely simple to
use.</p><p>This camel shiro-security component allows authentication and
authorization support to be applied to different segments of a camel
route.</p><p>Shiro security is applied on a route using a Camel Policy. A
Policy in Camel utilizes a strategy pattern for applying interceptors on Camel
Processors. It offering the ability to apply cross-cutting concerns (for
example. security, transactions etc) on sections/segments of a camel
route.</p><p>Maven users will need to add the following dependency to their
<code>pom.xml</code> for this component:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/servlet.html
==============================================================================
--- websites/production/camel/content/servlet.html (original)
+++ websites/production/camel/content/servlet.html Fri May 13 18:21:15 2016
@@ -97,7 +97,19 @@
</div></div><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Stream</p><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Servlet is stream based, which
means the input it receives is submitted to Camel as a stream. That means you
will only be able to read the content of the stream <strong>once</strong>. If
you find a situation where the message body appears to be empty or you need to
access the data multiple times (eg: doing multicasting, or redelivery error
handling) you should use <a shape="rect" href="stream-caching.html">Stream
caching</a> or convert the message body to a <code>String</code> which is safe
to be read multiple times.</p></div></div><h3 id="SERVLET-URIformat">URI
format</h3><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[servlet://relative_path[?options]
]]></script>
-</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="SERVLET-Options">Options</h3><div class="confluenceTableSmall"><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>httpBindingRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation
can be used to customize how to write a response.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd
"><code><span>httpBinding</span></code></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference to an
</span><code>org.apache.camel.component.http.HttpBinding</code><span> in the
</span><a shape="rect" href="registry.html">Registry</a><span>. A
</span><code>HttpBinding</code><span> implementation can be used to customize
how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether or not the
<code>CamelServlet</code> should try to find a target consumer by matching the
URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><co
de>CamelServlet</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint
will bind to. This name should match the name you define in
<code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code><span style="color:
rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span
style="color: rgb(0,0,0);"> </span><strong>Consumer only</strong><span
style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. </span><span style="color:
rgb(0,0,0);">From </span><strong>Camel 2.15 </strong><span style="color:
rgb(0,0,0);">onwards multiple methods can be specified separated by
comma.</span></td></tr></tbody></table></div></div><h3
id="SERVLET-MessageHeaders">Message Headers</h3><p>
Camel will apply the same Message Headers as the <a shape="rect"
href="http.html">HTTP</a> component.</p><p>Camel will also populate
<strong>all</strong> <code>request.parameter</code> and
<code>request.headers</code>. For example, if a client request has the URL,
<code><a shape="rect" class="external-link"
href="http://myserver/myserver?orderid=123"
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange
will contain a header named <code>orderid</code> with the value 123.</p><h3
id="SERVLET-Usage">Usage</h3><p>You can consume only from endpoints generated
by the Servlet component. Therefore, it should be used only as input into your
Camel routes. To issue HTTP requests against other HTTP endpoints, use the <a
shape="rect" href="http.html">HTTP Component</a></p><h3
id="SERVLET-PuttingCamelJARsintheappserverbootclasspath">Putting Camel JARs in
the app server boot classpath</h3><p>If you put the Camel JARs such as
<code>camel-core</code>, <code>camel-servlet</code
>, etc. in the boot classpath of your application server (eg usually in its
>lib directory), then mind that the servlet mapping list is now shared between
>multiple deployed Camel application in the app server.</p><p>Mind that
>putting Camel JARs in the boot classpath of the application server is
>generally not best practice!</p><p>So in those situations you
><strong>must</strong> define a custom and unique servlet name in each of your
>Camel application, eg in the <code>web.xml</code> define:</p><div class="code
>panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
>pdl">
+</div></div><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="SERVLET-Options">Options</h3><div class="confluenceTableSmall"><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>httpBindingRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation
can be used to customize how to write a response.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd
"><code><span>httpBinding</span></code></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference to an
</span><code>org.apache.camel.component.http.HttpBinding</code><span> in the
</span><a shape="rect" href="registry.html">Registry</a><span>. A
</span><code>HttpBinding</code><span> implementation can be used to customize
how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether or not the
<code>CamelServlet</code> should try to find a target consumer by matching the
URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><co
de>CamelServlet</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint
will bind to. This name should match the name you define in
<code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code><span style="color:
rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span
style="color: rgb(0,0,0);"> </span><strong>Consumer only</strong><span
style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. </span><span style="color:
rgb(0,0,0);">From </span><strong>Camel 2.15 </strong><span style="color:
rgb(0,0,0);">onwards multiple methods can be specified separated by
comma.</span></td></tr></tbody></table></div></div><h3
id="SERVLET-MessageHeaders">Message Headers</h3><p>
Camel will apply the same Message Headers as the <a shape="rect"
href="http.html">HTTP</a> component.</p><p>Camel will also populate
<strong>all</strong> <code>request.parameter</code> and
<code>request.headers</code>. For example, if a client request has the URL,
<code><a shape="rect" class="external-link"
href="http://myserver/myserver?orderid=123"
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange
will contain a header named <code>orderid</code> with the value 123.</p><h3
id="SERVLET-Usage">Usage</h3><p>You can consume only from endpoints generated
by the Servlet component. Therefore, it should be used only as input into your
Camel routes. To issue HTTP requests against other HTTP endpoints, use the <a
shape="rect" href="http.html">HTTP Component</a></p><h3
id="SERVLET-UsingServlet3.0AsyncMode">Using Servlet 3.0 Async
Mode</h3><p><strong>Available as of Camel 2.18</strong></p><p>You can configure
the servlet with an init-param to turn on async mode when
using a Servlet 3.x container. There is a sample XML configuration
below:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ <servlet>
+ <servlet-name>CamelServlet</servlet-name>
+ <display-name>Camel Http Transport Servlet</display-name>
+
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
+ <init-param>
+ <param-name>async</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <async-supported>true</async-supported>
+ </servlet>]]></script>
+</div></div><p> </p><h3
id="SERVLET-PuttingCamelJARsintheappserverbootclasspath">Putting Camel JARs in
the app server boot classpath</h3><p>If you put the Camel JARs such as
<code>camel-core</code>, <code>camel-servlet</code>, etc. in the boot classpath
of your application server (eg usually in its lib directory), then mind that
the servlet mapping list is now shared between multiple deployed Camel
application in the app server.</p><p>Mind that putting Camel JARs in the boot
classpath of the application server is generally not best practice!</p><p>So in
those situations you <strong>must</strong> define a custom and unique servlet
name in each of your Camel application, eg in the <code>web.xml</code>
define:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
@@ -143,7 +155,7 @@
</web-app>
]]></script>
-</div></div><p>Then you can define your route as follows:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>Then you can define your route as follows:<div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("servlet:hello?matchOnUriPrefix=true").process(new Processor() {
public void process(Exchange exchange) throws Exception {
@@ -182,7 +194,7 @@ from("servlet:hello?matchOnUriPrefi
</servlet>
<web-app>
]]></script>
-</div></div><h4 id="SERVLET-SamplewhenusingOSGi">Sample when using
OSGi</h4><p>From <strong>Camel 2.6.0</strong>, you can publish the <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
as an OSGi service with help of SpringDM like this.</p><div
class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>Then
use this service in your camel route like this:</p><div class="error"><span
class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>For
versions prior to Camel 2.6 you can use an <code>Activator</code> to publish
the <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component
/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a> on the
OSGi platform</p><div class="error"><span class="error">Error formatting macro:
snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span>
</div><p></p><h3 id="SERVLET-SeeAlso">See Also</h3>
+</div></div><h4 id="SERVLET-SamplewhenusingOSGi">Sample when using
OSGi</h4><p>From <strong>Camel 2.6.0</strong>, you can publish the <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/CamelHttpTransportServlet.java">CamelHttpTransportServlet</a>
as an OSGi service with help of SpringDM like this.</p><div
class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>Then use
this service in your camel route like this:<div class="error"><span
class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>For
versions prior to Camel 2.6 you can use an <code>Activator</code> to publish
the <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/C
amelHttpTransportServlet.java">CamelHttpTransportServlet</a> on the OSGi
platform<div class="error"><span class="error">Error formatting macro: snippet:
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><h3
id="SERVLET-SeeAlso">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul
class="alternate"><li><a shape="rect"
href="servlet-tomcat-example.html">Servlet Tomcat Example</a></li><li><a
shape="rect" href="servlet-tomcat-no-spring-example.html">Servlet Tomcat No
Spring Example</a></li><li><a shape="rect" href="http.html">HTTP</a></li><li><a
shape="rect" href="jetty.html">Jetty</a></li></ul></div>
</td>
<td valign="top">