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&amp;option=value&amp;...</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);">&#160;</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.&#160;</span><span style="color: 
rgb(0,0,0);">From&#160;</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&amp;option=value&amp;...</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);">&#160;</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.&#160;</span><span style="color: 
rgb(0,0,0);">From&#160;</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[ &lt;servlet&gt;
+    &lt;servlet-name&gt;CamelServlet&lt;/servlet-name&gt;
+    &lt;display-name&gt;Camel Http Transport Servlet&lt;/display-name&gt;
+    
&lt;servlet-class&gt;org.apache.camel.component.servlet.CamelHttpTransportServlet&lt;/servlet-class&gt;
+    &lt;init-param&gt;
+      &lt;param-name&gt;async&lt;/param-name&gt;
+      &lt;param-value&gt;true&lt;/param-value&gt;
+    &lt;/init-param&gt;
+    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;async-supported&gt;true&lt;/async-supported&gt;
+  &lt;/servlet&gt;]]></script>
+</div></div><p>&#160;</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[&lt;servlet&gt;
   &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt;
   
&lt;servlet-class&gt;org.apache.camel.component.servlet.CamelHttpTransportServlet&lt;/servlet-class&gt;
@@ -8860,7 +8872,7 @@ int size = seda.getExchanges().size();
 
 &lt;/web-app&gt;
 ]]></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(&quot;servlet:hello?matchOnUriPrefix=true&quot;).process(new Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -8899,7 +8911,7 @@ from(&quot;servlet:hello?matchOnUriPrefi
   &lt;/servlet&gt; 
 &lt;web-app&gt;
 ]]></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[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;

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>&#160;</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(&quot;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&amp;option=value&amp;...</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);">&#160;</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.&#160;</span><span style="color: 
rgb(0,0,0);">From&#160;</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&amp;option=value&amp;...</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);">&#160;</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.&#160;</span><span style="color: 
rgb(0,0,0);">From&#160;</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[ &lt;servlet&gt;
+    &lt;servlet-name&gt;CamelServlet&lt;/servlet-name&gt;
+    &lt;display-name&gt;Camel Http Transport Servlet&lt;/display-name&gt;
+    
&lt;servlet-class&gt;org.apache.camel.component.servlet.CamelHttpTransportServlet&lt;/servlet-class&gt;
+    &lt;init-param&gt;
+      &lt;param-name&gt;async&lt;/param-name&gt;
+      &lt;param-value&gt;true&lt;/param-value&gt;
+    &lt;/init-param&gt;
+    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;async-supported&gt;true&lt;/async-supported&gt;
+  &lt;/servlet&gt;]]></script>
+</div></div><p>&#160;</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[&lt;servlet&gt;
   &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt;
   
&lt;servlet-class&gt;org.apache.camel.component.servlet.CamelHttpTransportServlet&lt;/servlet-class&gt;
@@ -24978,7 +24990,7 @@ int size = seda.getExchanges().size();
 
 &lt;/web-app&gt;
 ]]></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(&quot;servlet:hello?matchOnUriPrefix=true&quot;).process(new Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -25017,7 +25029,7 @@ from(&quot;servlet:hello?matchOnUriPrefi
   &lt;/servlet&gt; 
 &lt;web-app&gt;
 ]]></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[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;

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&amp;option=value&amp;...</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);">&#160;</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.&#160;</span><span style="color: 
rgb(0,0,0);">From&#160;</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&amp;option=value&amp;...</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);">&#160;</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.&#160;</span><span style="color: 
rgb(0,0,0);">From&#160;</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[ &lt;servlet&gt;
+    &lt;servlet-name&gt;CamelServlet&lt;/servlet-name&gt;
+    &lt;display-name&gt;Camel Http Transport Servlet&lt;/display-name&gt;
+    
&lt;servlet-class&gt;org.apache.camel.component.servlet.CamelHttpTransportServlet&lt;/servlet-class&gt;
+    &lt;init-param&gt;
+      &lt;param-name&gt;async&lt;/param-name&gt;
+      &lt;param-value&gt;true&lt;/param-value&gt;
+    &lt;/init-param&gt;
+    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;async-supported&gt;true&lt;/async-supported&gt;
+  &lt;/servlet&gt;]]></script>
+</div></div><p>&#160;</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[&lt;servlet&gt;
   &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt;
   
&lt;servlet-class&gt;org.apache.camel.component.servlet.CamelHttpTransportServlet&lt;/servlet-class&gt;
@@ -143,7 +155,7 @@
 
 &lt;/web-app&gt;
 ]]></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(&quot;servlet:hello?matchOnUriPrefix=true&quot;).process(new Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -182,7 +194,7 @@ from(&quot;servlet:hello?matchOnUriPrefi
   &lt;/servlet&gt; 
 &lt;web-app&gt;
 ]]></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">


Reply via email to