You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/02/05 14:13:55 UTC

svn commit: r1040006 [2/2] - in /websites/production/camel/content/schema: blueprint/camel-blueprint.xsd cxf/camel-cxf-blueprint.xsd cxf/camel-cxf-spring.xsd spring/camel-spring.xsd

Modified: websites/production/camel/content/schema/spring/camel-spring.xsd
==============================================================================
--- websites/production/camel/content/schema/spring/camel-spring.xsd (original)
+++ websites/production/camel/content/schema/spring/camel-spring.xsd Tue Feb  5 14:13:55 2019
@@ -16,6 +16,14 @@ Does processing before and/or after the
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="apiKey" type="tns:restSecurityApiKey">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Rest security basic auth definition
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="asn1" type="tns:asn1DataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -50,6 +58,14 @@ The Base64 data format is used for base6
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="basicAuth" type="tns:restSecurityBasicAuth">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Rest security basic auth definition
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="batch-config" type="tns:batchResequencerConfig">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -148,6 +164,10 @@ unique key), which can be used to retrie
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="combinedServiceDiscovery" type="tns:combinedServiceCallServiceDiscoveryConfiguration"/>
+
+  <xs:element name="combinedServiceFilter" type="tns:combinedServiceCallServiceFilterConfiguration"/>
+
   <xs:element name="constant" type="tns:constantExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -730,6 +750,14 @@ To use MVEL scripts in Camel expressions
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="oauth2" type="tns:restSecurityOAuth2">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Rest security OAuth2 definition
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="ognl" type="tns:ognlExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1223,6 +1251,22 @@ payloads.
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="security" type="tns:securityDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Rest security definition
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="securityDefinitions" type="tns:restSecuritiesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+To configure rest security definitions.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="serialization" type="tns:serializationDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1970,6 +2014,13 @@ Default value: DEBUG
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="retryAttemptedLogInterval" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the interval for log messages when retries are attempted. Default value: 0
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="logRetryAttempted" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -2299,8 +2350,8 @@ locations from this option.
             <xs:documentation xml:lang="en"><![CDATA[
 Encoding to use when loading properties file from the file system or classpath.
 If no encoding has been set, then the properties files is loaded using
-ISO-8859-1 encoding (latin-1) as documented by link
-java.util.Propertiesload(java.io.InputStream)
+ISO-8859-1 encoding (latin-1) as documented by
+java.util.Properties#load(java.io.InputStream)
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -2549,8 +2600,8 @@ default the data is not encrypted.
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Threshold in bytes when overflow to disk is activated. The default threshold is
-link org.apache.camel.StreamCacheDEFAULT_SPOOL_THRESHOLD bytes (eg 128kb). Use
--1 to disable overflow to disk.
+org.apache.camel.StreamCache#DEFAULT_SPOOL_THRESHOLD bytes (eg 128kb). Use -1 to
+disable overflow to disk.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -2583,8 +2634,8 @@ be separated by comma.
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets the buffer size to use when allocating in-memory buffers used for in-memory
-stream caches. The default size is link
-org.apache.camel.util.IOHelperDEFAULT_BUFFER_SIZE
+stream caches. The default size is
+org.apache.camel.util.IOHelper#DEFAULT_BUFFER_SIZE
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -3088,7 +3139,7 @@ timeout values or checker intervals. Def
 Enables the batch completion mode where we aggregate from a
 org.apache.camel.BatchConsumer and aggregate the total number of exchanges the
 org.apache.camel.BatchConsumer has reported as total by checking the exchange
-property link org.apache.camel.ExchangeBATCH_COMPLETE when its complete. Default
+property org.apache.camel.Exchange#BATCH_COMPLETE when its complete. Default
 value: false
             ]]></xs:documentation>
           </xs:annotation>
@@ -3413,15 +3464,6 @@ Deprecated: Whether the message body is
 
   <xs:complexType name="whenDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
-        <xs:anyAttribute namespace="##other" processContents="skip"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType abstract="true" name="expressionNode">
-    <xs:complexContent>
       <xs:extension base="tns:processorDefinition">
         <xs:sequence>
           <xs:choice>
@@ -3581,7 +3623,7 @@ check repository. The following syntax i
 message body attachments - to aggregate all the message attachments headers - to
 aggregate all the message headers header:pattern - to aggregate all the message
 headers that matches the pattern. The pattern syntax is documented by: link
-EndpointHelpermatchPattern(String, String). You can specify multiple rules
+EndpointHelper#matchPattern(String, String). You can specify multiple rules
 separated by comma. For example to include the message body and all headers
 starting with foo body,header:foo. The syntax supports the following prefixes
 which can be used to specify include,exclude, or remove - to include (which is
@@ -3677,8 +3719,105 @@ data formats marshalling to JSon etc. De
 
   <xs:complexType name="delayDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
         <xs:attribute name="executorServiceRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -3740,10 +3879,107 @@ reused.
     </xs:complexContent>
   </xs:complexType>
 
-  <xs:complexType name="noOutputExpressionNode">
+  <xs:complexType abstract="true" name="noOutputExpressionNode">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="skip"/>
       </xs:extension>
     </xs:complexContent>
@@ -3828,19 +4064,116 @@ endpoint. Default value: false
 
   <xs:complexType name="filterDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
-        <xs:anyAttribute namespace="##other" processContents="skip"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="finallyDefinition">
-    <xs:complexContent>
-      <xs:extension base="tns:output">
-        <xs:sequence/>
-        <xs:anyAttribute namespace="##other" processContents="skip"/>
-      </xs:extension>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="finallyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
     </xs:complexContent>
   </xs:complexType>
 
@@ -3936,8 +4269,8 @@ HystrixCommandMetrics.getHealthCounts().
         <xs:attribute name="circuitBreakerForceClosed" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-If true the HystrixCircuitBreakerallowRequest() will always return true to allow
-requests regardless of the error percentage from
+If true the HystrixCircuitBreaker#allowRequest() will always return true to
+allow requests regardless of the error percentage from
 HystrixCommandMetrics.getHealthCounts(). The circuitBreakerForceOpen() property
 takes precedence so if it set to true this property does nothing. Default value:
 false
@@ -3994,9 +4327,9 @@ Default value: THREAD
         <xs:attribute name="executionIsolationThreadInterruptOnTimeout" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether the execution thread should attempt an interrupt (using link
-Futurecancel) when a thread times out. Applicable only when
-executionIsolationStrategy() == THREAD. Default value: true
+Whether the execution thread should attempt an interrupt (using Future#cancel)
+when a thread times out. Applicable only when executionIsolationStrategy() ==
+THREAD. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -4004,7 +4337,7 @@ executionIsolationStrategy() == THREAD.
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Time in milliseconds at which point the command will timeout and halt execution.
-If link executionIsolationThreadInterruptOnTimeout == true and the command is
+If executionIsolationThreadInterruptOnTimeout == true and the command is
 thread-isolated, the executing thread will be interrupted. If the command is
 semaphore-isolated and a HystrixObservableCommand, that command will get
 unsubscribed. Default value: 1000
@@ -4107,16 +4440,16 @@ HystrixRequestLog. Default value: true
         <xs:attribute name="corePoolSize" type="xs:int">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Core thread-pool size that gets passed to link
-java.util.concurrent.ThreadPoolExecutorsetCorePoolSize(int). Default value: 10
+Core thread-pool size that gets passed to
+java.util.concurrent.ThreadPoolExecutor#setCorePoolSize(int). Default value: 10
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="maximumSize" type="xs:int">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Maximum thread-pool size that gets passed to link
-ThreadPoolExecutorsetMaximumPoolSize(int). This is the maximum amount of
+Maximum thread-pool size that gets passed to
+ThreadPoolExecutor#setMaximumPoolSize(int). This is the maximum amount of
 concurrency that can be supported without starting to reject HystrixCommands.
 Please note that this setting only takes effect if you also set
 allowMaximumSizeToDivergeFromCoreSize. Default value: 10
@@ -4127,7 +4460,7 @@ allowMaximumSizeToDivergeFromCoreSize. D
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Keep-alive time in minutes that gets passed to link
-ThreadPoolExecutorsetKeepAliveTime(long, TimeUnit). Default value: 1
+ThreadPoolExecutor#setKeepAliveTime(long, TimeUnit). Default value: 1
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -4145,11 +4478,10 @@ the fly. For that, use queueSizeRejectio
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Queue size rejection threshold is an artificial max size at which rejections
-will occur even if link maxQueueSize has not been reached. This is done because
-the link maxQueueSize of a BlockingQueue can not be dynamically changed and we
-want to support dynamically changing the queue size that affects rejections.
-This is used by HystrixCommand when queuing a thread for execution. Default
-value: 5
+will occur even if maxQueueSize has not been reached. This is done because the
+maxQueueSize of a BlockingQueue can not be dynamically changed and we want to
+support dynamically changing the queue size that affects rejections. This is
+used by HystrixCommand when queuing a thread for execution. Default value: 5
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -4280,8 +4612,105 @@ Refers to a Hystrix configuration to use
 
   <xs:complexType name="idempotentConsumerDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
         <xs:attribute name="messageIdRepositoryRef" type="xs:string" use="required">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -4317,9 +4746,9 @@ state of the idempotent consumer will be
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets whether to skip duplicates or not. The default behavior is to skip
-duplicates. A duplicate message would have the Exchange property link
-org.apache.camel.ExchangeDUPLICATE_MESSAGE set to a link BooleanTRUE value. A
-none duplicate message will not have this property set. Default value: true
+duplicates. A duplicate message would have the Exchange property
+org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Boolean#TRUE value. A none
+duplicate message will not have this property set. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -4758,8 +5187,105 @@ To refer to a custom logger instance to
 
   <xs:complexType name="loopDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
         <xs:attribute name="copy" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -5076,8 +5602,9 @@ Define if Whitelist feature is enabled o
 Define the allowed objects to be unmarshalled. You can specify the FQN class
 name of allowed objects, and you can use comma to separate multiple entries. It
 is also possible to use wildcards and regular expression which is based on the
-pattern defined by link org.apache.camel.util.EndpointHelpermatchPattern(String,
-String). Denied objects takes precedence over allowed objects.
+pattern defined by link
+org.apache.camel.util.EndpointHelper#matchPattern(String, String). Denied
+objects takes precedence over allowed objects.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -5087,8 +5614,9 @@ String). Denied objects takes precedence
 Define the denied objects to be unmarshalled. You can specify the FQN class name
 of deined objects, and you can use comma to separate multiple entries. It is
 also possible to use wildcards and regular expression which is based on the
-pattern defined by link org.apache.camel.util.EndpointHelpermatchPattern(String,
-String). Denied objects takes precedence over allowed objects.
+pattern defined by link
+org.apache.camel.util.EndpointHelper#matchPattern(String, String). Denied
+objects takes precedence over allowed objects.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -5430,6 +5958,15 @@ registry.
 
   <xs:complexType name="fhirJsonDataFormat">
     <xs:complexContent>
+      <xs:extension base="tns:fhirDataformat">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="fhirDataformat">
+    <xs:complexContent>
       <xs:extension base="tns:dataFormat">
         <xs:sequence/>
         <xs:attribute name="fhirVersion" type="xs:string">
@@ -5440,6 +5977,148 @@ DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4. Def
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the pretty print flag, meaning that the parser will encode resources with
+human-readable spacing and newlines between elements instead of condensing
+output as much as possible. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serverBaseUrl" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the server's base URL used by this parser. If a value is set, resource
+references will be turned into relative references if they are provided as
+absolute URLs but have a base matching the given base.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="omitResourceId" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If set to true (default is false) the ID of any resources being encoded will not
+be included in the output. Note that this does not apply to contained resources,
+only to root resources. In other words, if this is set to true, contained
+resources will still have local IDs but the outer/containing ID will not have an
+ID. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encodeElementsAppliesToResourceTypes">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If provided, tells the parse which resource types to apply link
+#setEncodeElements(Set) encode elements to. Any resource types not specified
+here will be encoded completely, with no elements excluded.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="encodeElementsAppliesToChildResourcesOnly" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If set to true (default is false), the values supplied to setEncodeElements(Set)
+will not be applied to the root resource (typically a Bundle), but will be
+applied to any sub-resources contained within it (i.e. search result resources
+in that bundle). Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encodeElements">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If provided, specifies the elements which should be encoded, to the exclusion of
+all others. Valid values for this field would include: Patient - Encode patient
+and all its children Patient.name - Encode only the patient's name
+Patient.name.family - Encode only the patient's family name .text - Encode the
+text element on any resource (only the very first position may contain a
+wildcard) .(mandatory) - This is a special case which causes any mandatory
+fields (min 0) to be encoded
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="dontEncodeElements">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If provided, specifies the elements which should NOT be encoded. Valid values
+for this field would include: Patient - Don't encode patient and all its
+children Patient.name - Don't encode the patient's name Patient.name.family -
+Don't encode the patient's family name .text - Don't encode the text element on
+any resource (only the very first position may contain a wildcard) DSTU2 note:
+Note that values including meta, such as Patient.meta will work for DSTU2
+parsers, but values with subelements on meta such as Patient.meta.lastUpdated
+will only work in DSTU3 mode.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="stripVersionsFromReferences" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If set to true (which is the default), resource references containing a version
+will have the version removed when the resource is encoded. This is generally
+good behaviour because in most situations, references from one resource to
+another should be to the resource by ID, not by ID and version. In some cases
+though, it may be desirable to preserve the version in resource links. In that
+case, this value should be set to false. This method provides the ability to
+globally disable reference encoding. If finer-grained control is needed, use
+setDontStripVersionsFromReferencesAtPaths(List). Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="overrideResourceIdWithBundleEntryFullUrl" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If set to true (which is the default), the Bundle.entry.fullUrl will override
+the Bundle.entry.resource's resource id if the fullUrl is defined. This behavior
+happens when parsing the source data into a Bundle object. Set this to false if
+this is not the desired behavior (e.g. the client code wishes to perform
+additional validation checks between the fullUrl and the resource id). Default
+value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="summaryMode" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If set to true (default is false) only elements marked by the FHIR specification
+as being summary elements will be included. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="suppressNarratives" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If set to true (default is false), narratives will not be included in the
+encoded values. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="dontStripVersionsFromReferencesAtPaths">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If supplied value(s), any resource references at the specified paths will have
+their resource versions encoded instead of being automatically stripped during
+the encoding process. This setting has no effect on the parsing process. This
+method provides a finer-grained level of control than
+setStripVersionsFromReferences(Boolean) and any paths specified by this method
+will be encoded even if setStripVersionsFromReferences(Boolean) has been set to
+true (which is the default)
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
         <xs:anyAttribute namespace="##other" processContents="skip"/>
       </xs:extension>
     </xs:complexContent>
@@ -5447,16 +6126,8 @@ DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4. Def
 
   <xs:complexType name="fhirXmlDataFormat">
     <xs:complexContent>
-      <xs:extension base="tns:dataFormat">
+      <xs:extension base="tns:fhirDataformat">
         <xs:sequence/>
-        <xs:attribute name="fhirVersion" type="xs:string">
-          <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
-The version of FHIR to use. Possible values are:
-DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4. Default value: DSTU3
-            ]]></xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
         <xs:anyAttribute namespace="##other" processContents="skip"/>
       </xs:extension>
     </xs:complexContent>
@@ -5642,7 +6313,7 @@ option is to refer to the class which ha
             <xs:documentation xml:lang="en"><![CDATA[
 If you want to marshal a pojo to JSON, and the pojo has some fields with null
 values. And you want to skip these null values, you can set this option to
-NOT_NULL
+NON_NULL
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -5918,6 +6589,14 @@ Lookup and use the existing ObjectMapper
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="useDefaultObjectMapper" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to lookup and use default Jackson ObjectMapper from the registry.
+Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="prettyPrint" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -5954,7 +6633,7 @@ option is to refer to the class which ha
             <xs:documentation xml:lang="en"><![CDATA[
 If you want to marshal a pojo to JSON, and the pojo has some fields with null
 values. And you want to skip these null values, you can set this option to
-NOT_NULL
+NON_NULL
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -6131,6 +6810,17 @@ another 24 Byte key
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="passPhraseByte" type="xs:base64Binary">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A byte used as passPhrase to encrypt/decrypt content. The passPhrase has to be
+provided. If no passPhrase is specified, a default passPhrase is used. The
+passPhrase needs to be put together in conjunction with the appropriate
+encryption algorithm. For example using TRIPLEDES the passPhase can be a Only
+another 24 Byte key
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="secureTag" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -6528,7 +7218,7 @@ character. Default value: \n
         <xs:attribute name="comment" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-The comment symbol. The default value is. Default value: #
+The comment symbol. The default value is #. Default value: #
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -7639,6 +8329,13 @@ Sets the logging level to use for loggin
         ]]></xs:documentation>
       </xs:annotation>
     </xs:attribute>
+    <xs:attribute name="retryAttemptedLogInterval" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the interval to use for logging retry attempts
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
     <xs:attribute name="logRetryAttempted" type="xs:string">
       <xs:annotation>
         <xs:documentation xml:lang="en"><![CDATA[
@@ -8531,6 +9228,7 @@ Reference to the routes in the xml dsl
             <xs:element ref="tns:wireTap"/>
             <xs:element ref="tns:serviceCall"/>
           </xs:choice>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="routeProperty" type="tns:propertyDefinition"/>
         </xs:sequence>
         <xs:attribute name="autoStartup" type="xs:string">
           <xs:annotation>
@@ -8901,8 +9599,105 @@ Sets a reference to lookup for the compa
 
   <xs:complexType name="splitDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
         <xs:attribute name="parallelProcessing" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -8956,15 +9751,15 @@ have to enable that option as well.
 When in streaming mode, then the splitter splits the original message on-demand,
 and each splitted message is processed one by one. This reduces memory usage as
 the splitter do not split all the messages first, but then we do not know the
-total size, and therefore the link org.apache.camel.ExchangeSPLIT_SIZE is empty.
-In non-streaming mode (default) the splitter will split each message first, to
-know the total size, and then process each message one by one. This requires to
-keep all the splitted messages in memory and therefore requires more memory. The
-total size is provided in the link org.apache.camel.ExchangeSPLIT_SIZE header.
-The streaming mode also affects the aggregation behavior. If enabled then Camel
-will process replies out-of-order, eg in the order they come back. If disabled,
-Camel will process replies in the same order as the messages was splitted.
-Default value: false
+total size, and therefore the org.apache.camel.Exchange#SPLIT_SIZE is empty. In
+non-streaming mode (default) the splitter will split each message first, to know
+the total size, and then process each message one by one. This requires to keep
+all the splitted messages in memory and therefore requires more memory. The
+total size is provided in the org.apache.camel.Exchange#SPLIT_SIZE header. The
+streaming mode also affects the aggregation behavior. If enabled then Camel will
+process replies out-of-order, eg in the order they come back. If disabled, Camel
+will process replies in the same order as the messages was splitted. Default
+value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -9204,8 +9999,106 @@ rejection handler. Is by default true. D
 
   <xs:complexType name="throttleDefinition">
     <xs:complexContent>
-      <xs:extension base="tns:expressionNode">
-        <xs:sequence/>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:element minOccurs="0" name="correlationExpression" type="tns:expressionSubElementDefinition"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:otherwise"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:hystrix"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:inOnly"/>
+            <xs:element ref="tns:inOut"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:onFallback"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:serviceCall"/>
+          </xs:choice>
+        </xs:sequence>
         <xs:attribute name="executorServiceRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -9332,6 +10225,14 @@ endpoint. Default value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="allowOptimisedComponents" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to allow components to optimise toD if they are
+org.apache.camel.spi.SendDynamicAware. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:anyAttribute namespace="##other" processContents="skip"/>
       </xs:extension>
     </xs:complexContent>
@@ -9506,6 +10407,14 @@ needed before the exchange is send.
 
   <xs:complexType name="aggregatingServiceCallServiceDiscoveryConfiguration">
     <xs:complexContent>
+      <xs:extension base="tns:combinedServiceCallServiceDiscoveryConfiguration">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="combinedServiceCallServiceDiscoveryConfiguration">
+    <xs:complexContent>
       <xs:extension base="tns:serviceCallServiceDiscoveryConfiguration">
         <xs:sequence>
           <xs:choice maxOccurs="unbounded" minOccurs="0">
@@ -9686,7 +10595,8 @@ How to perform service lookup. Possible
 using client, then the client queries the kubernetes master to obtain a list of
 active pods that provides the service, and then random (or round robin) select a
 pod. When using dns the service name is resolved as
-name.namespace.service.dnsDomain. When using environment then environment
+name.namespace.svc.dnsDomain. When using dnssrv the service name is resolved
+with SRV query for _._...svc... When using environment then environment
 variables are used to lookup the service. By default environment is used.
 Default value: environment
             ]]></xs:documentation>
@@ -9699,6 +10609,20 @@ Sets the DNS domain to use for DNS looku
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="portName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Port Name to use for DNS/DNSSRV lookup.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="portProtocol" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Port Protocol to use for DNS/DNSSRV lookup.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="namespace" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -9877,6 +10801,14 @@ Set the time unit for the timeout. Defau
 
   <xs:complexType name="chainedServiceCallServiceFilterConfiguration">
     <xs:complexContent>
+      <xs:extension base="tns:combinedServiceCallServiceFilterConfiguration">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="combinedServiceCallServiceFilterConfiguration">
+    <xs:complexContent>
       <xs:extension base="tns:serviceCallServiceFilterConfiguration">
         <xs:sequence>
           <xs:choice maxOccurs="unbounded" minOccurs="0">
@@ -9982,6 +10914,7 @@ Sets the Ribbon client name
           <xs:choice minOccurs="0">
             <xs:element ref="tns:cachingServiceDiscovery"/>
             <xs:element name="aggregatingServiceDiscovery" type="tns:aggregatingServiceCallServiceDiscoveryConfiguration"/>
+            <xs:element ref="tns:combinedServiceDiscovery"/>
             <xs:element ref="tns:consulServiceDiscovery"/>
             <xs:element ref="tns:dnsServiceDiscovery"/>
             <xs:element ref="tns:etcdServiceDiscovery"/>
@@ -9992,6 +10925,7 @@ Sets the Ribbon client name
           <xs:choice minOccurs="0">
             <xs:element ref="tns:blacklistServiceFilter"/>
             <xs:element name="chainedServiceFilter" type="tns:chainedServiceCallServiceFilterConfiguration"/>
+            <xs:element ref="tns:combinedServiceFilter"/>
             <xs:element ref="tns:customServiceFilter"/>
             <xs:element ref="tns:healthyServiceFilter"/>
             <xs:element ref="tns:passThroughServiceFilter"/>
@@ -10189,6 +11123,7 @@ ServiceCallConstants.SERVICE_PORT. Defau
           <xs:choice minOccurs="0">
             <xs:element ref="tns:cachingServiceDiscovery"/>
             <xs:element name="aggregatingServiceDiscovery" type="tns:aggregatingServiceCallServiceDiscoveryConfiguration"/>
+            <xs:element ref="tns:combinedServiceDiscovery"/>
             <xs:element ref="tns:consulServiceDiscovery"/>
             <xs:element ref="tns:dnsServiceDiscovery"/>
             <xs:element ref="tns:etcdServiceDiscovery"/>
@@ -10199,6 +11134,7 @@ ServiceCallConstants.SERVICE_PORT. Defau
           <xs:choice minOccurs="0">
             <xs:element ref="tns:blacklistServiceFilter"/>
             <xs:element name="chainedServiceFilter" type="tns:chainedServiceCallServiceFilterConfiguration"/>
+            <xs:element ref="tns:combinedServiceFilter"/>
             <xs:element ref="tns:customServiceFilter"/>
             <xs:element ref="tns:healthyServiceFilter"/>
             <xs:element ref="tns:passThroughServiceFilter"/>
@@ -10939,6 +11875,7 @@ Name of header to use as input, instead
         <xs:sequence>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:param"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:responseMessage"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:security"/>
           <xs:choice>
             <xs:element ref="tns:to"/>
             <xs:element ref="tns:toD"/>
@@ -10995,6 +11932,17 @@ configured on a parent level. Default va
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="clientRequestValidation" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to enable validation of the client request to check whether the
+Content-Type and Accept headers from the client is supported by the Rest-DSL
+configuration of its consumes/produces settings. This can be turned on, to
+enable this check. In case of validation error, then HTTP Status codes 415 or
+406 is returned. The default value is false. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="enableCORS" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -11235,6 +12183,24 @@ Sets the Swagger example
     </xs:attribute>
   </xs:complexType>
 
+  <xs:complexType name="securityDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Key used to refer to this security definition
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="scopes" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+The scopes to allow (separate multiple scopes by comma)
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
   <xs:complexType name="getVerbDefinition">
     <xs:complexContent>
       <xs:extension base="tns:verbDefinition">
@@ -11337,6 +12303,17 @@ as success messages otherwise will do. D
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="clientRequestValidation" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to enable validation of the client request to check whether the
+Content-Type and Accept headers from the client is supported by the Rest-DSL
+configuration of its consumes/produces settings. This can be turned on, to
+enable this check. In case of validation error, then HTTP Status codes 415 or
+406 is returned. The default value is false. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="enableCORS" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -11471,10 +12448,10 @@ will by default use an auto assigned rou
       <xs:annotation>
         <xs:documentation xml:lang="en"><![CDATA[
 Sets an CamelContext id pattern to only allow Rest APIs from rest services
-within CamelContext's which name matches the pattern. The pattern name refers to
-the CamelContext name, to match on the current CamelContext only. For any other
-value, the pattern uses the rules from link
-org.apache.camel.util.EndpointHelpermatchPattern(String, String)
+within CamelContext's which name matches the pattern. The pattern #name# refers
+to the CamelContext name, to match on the current CamelContext only. For any
+other value, the pattern uses the rules from link
+org.apache.camel.util.EndpointHelper#matchPattern(String, String)
         ]]></xs:documentation>
       </xs:annotation>
     </xs:attribute>
@@ -11521,6 +12498,17 @@ as success messages otherwise will do. D
         ]]></xs:documentation>
       </xs:annotation>
     </xs:attribute>
+    <xs:attribute name="clientRequestValidation" type="xs:boolean">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Whether to enable validation of the client request to check whether the
+Content-Type and Accept headers from the client is supported by the Rest-DSL
+configuration of its consumes/produces settings. This can be turned on, to
+enable this check. In case of validation error, then HTTP Status codes 415 or
+406 is returned. The default value is false. Default value: false
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
     <xs:attribute name="enableCORS" type="xs:boolean">
       <xs:annotation>
         <xs:documentation xml:lang="en"><![CDATA[
@@ -11557,6 +12545,7 @@ to refer to an existing data format inst
     <xs:complexContent>
       <xs:extension base="tns:optionalIdentifiedDefinition">
         <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:securityDefinitions"/>
           <xs:choice maxOccurs="unbounded" minOccurs="0">
             <xs:element ref="tns:verb"/>
             <xs:element ref="tns:delete"/>
@@ -11618,6 +12607,17 @@ configured on a parent level. Default va
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="clientRequestValidation" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to enable validation of the client request to check whether the
+Content-Type and Accept headers from the client is supported by the Rest-DSL
+configuration of its consumes/produces settings. This can be turned on, to
+enable this check. In case of validation error, then HTTP Status codes 415 or
+406 is returned. The default value is false. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="enableCORS" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
@@ -11640,6 +12640,105 @@ is true. Default value: false
     </xs:complexContent>
   </xs:complexType>
 
+  <xs:complexType name="restSecuritiesDefinition">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element ref="tns:apiKey"/>
+        <xs:element ref="tns:basicAuth"/>
+        <xs:element ref="tns:oauth2"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="restSecurityApiKey">
+    <xs:complexContent>
+      <xs:extension base="tns:restSecurityDefinition">
+        <xs:sequence/>
+        <xs:attribute name="name" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The name of the header or query parameter to be used.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="inHeader" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+To use header as the location of the API key. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="inQuery" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+To use query parameter as the location of the API key. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="restSecurityDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Key used to refer to this security definition
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="description" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+A short description for security scheme.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="restSecurityBasicAuth">
+    <xs:complexContent>
+      <xs:extension base="tns:restSecurityDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="restSecurityOAuth2">
+    <xs:complexContent>
+      <xs:extension base="tns:restSecurityDefinition">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="scopes" type="tns:restPropertyDefinition"/>
+        </xs:sequence>
+        <xs:attribute name="authorizationUrl" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The authorization URL to be used for this flow. This SHOULD be in the form of a
+URL. Required for implicit and access code flows
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="tokenUrl" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The token URL to be used for this flow. This SHOULD be in the form of a URL.
+Required for password, application, and access code flows.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="flow" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The flow used by the OAuth2 security scheme. Valid values are implicit,
+password, application or accessCode.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
   <xs:complexType name="restsDefinition">
     <xs:complexContent>
       <xs:extension base="tns:optionalIdentifiedDefinition">
@@ -11943,9 +13042,9 @@ Sets whether the object should automatic
 Currently only routes can be disabled, as CamelContexts are always started.
 Note: When setting auto startup false on CamelContext then that takes precedence
 and no routes is started. You would need to start CamelContext explicit using
-the link org.apache.camel.CamelContextstart() method, to start the context, and
-then you would need to start the routes manually using link
-CamelContextstartRoute(String). Default value: true
+the org.apache.camel.CamelContext#start() method, to start the context, and then
+you would need to start the routes manually using
+CamelContext#startRoute(String). Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -11995,8 +13094,8 @@ Set whether breadcrumb is enabled. Defau
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets whether to allow access to the original message from Camel's error handler,
-or from link org.apache.camel.spi.UnitOfWorkgetOriginalInMessage(). Turning this
-off can optimize performance, as defensive copy of the original message is not
+or from org.apache.camel.spi.UnitOfWork#getOriginalInMessage(). Turning this off
+can optimize performance, as defensive copy of the original message is not
 needed.
             ]]></xs:documentation>
           </xs:annotation>
@@ -12020,11 +13119,11 @@ The naming pattern for creating the Came
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets the thread name pattern used for creating the full thread name. The default
-pattern is: Camel (camelId) thread counter - name Where camelId is the name of
-the org.apache.camel.CamelContext and counter is a unique incrementing counter.
-and name is the regular thread name. You can also use longName is the long
-thread name which can includes endpoint parameters etc. Default value: Camel
-(#camelId#) thread ##counter# - #name#
+pattern is: Camel (#camelId#) thread ##counter# - #name# Where #camelId# is the
+name of the org.apache.camel.CamelContext and #counter# is a unique incrementing
+counter. and #name# is the regular thread name. You can also use #longName# is
+the long thread name which can includes endpoint parameters etc. Default value:
+Camel (#camelId#) thread ##counter# - #name#
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -12067,8 +13166,8 @@ false, can speedup starting Camel. Defau
 Sets whether or not type converter statistics is enabled. By default the type
 converter utilization statistics is disabled. Notice: If enabled then there is a
 slight performance impact under very heavy load. You can enable/disable the
-statistics at runtime using the link
-org.apache.camel.spi.TypeConverterRegistrygetStatistics()setTypeConverterStatisticsEnabled(Boolean)
+statistics at runtime using the
+org.apache.camel.spi.TypeConverterRegistry#getStatistics()#setTypeConverterStatisticsEnabled(Boolean)
 method, or from JMX on the
 org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean mbean.
 Default value: false
@@ -12394,61 +13493,61 @@ Sets a reference to a thread pool to be
   <xs:simpleType name="exchangePattern">
     <xs:restriction base="xs:string">
       <xs:enumeration value="RobustInOnly"/>
+      <xs:enumeration value="InOptionalOut"/>
       <xs:enumeration value="OutOnly"/>
-      <xs:enumeration value="InOnly"/>
+      <xs:enumeration value="OutOptionalIn"/>
       <xs:enumeration value="InOut"/>
       <xs:enumeration value="RobustOutOnly"/>
-      <xs:enumeration value="InOptionalOut"/>
-      <xs:enumeration value="OutOptionalIn"/>
       <xs:enumeration value="OutIn"/>
+      <xs:enumeration value="InOnly"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="loggingLevel">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="DEBUG"/>
       <xs:enumeration value="TRACE"/>
-      <xs:enumeration value="INFO"/>
       <xs:enumeration value="OFF"/>
+      <xs:enumeration value="DEBUG"/>
       <xs:enumeration value="ERROR"/>
       <xs:enumeration value="WARN"/>
+      <xs:enumeration value="INFO"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="threadPoolRejectedPolicy">
     <xs:restriction base="xs:string">
+      <xs:enumeration value="DiscardOldest"/>
       <xs:enumeration value="Abort"/>
       <xs:enumeration value="CallerRuns"/>
-      <xs:enumeration value="DiscardOldest"/>
       <xs:enumeration value="Discard"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="claimCheckOperation">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="GetAndRemove"/>
-      <xs:enumeration value="Pop"/>
       <xs:enumeration value="Get"/>
-      <xs:enumeration value="Push"/>
       <xs:enumeration value="Set"/>
+      <xs:enumeration value="Push"/>
+      <xs:enumeration value="GetAndRemove"/>
+      <xs:enumeration value="Pop"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="bindyType">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="Fixed"/>
       <xs:enumeration value="Csv"/>
+      <xs:enumeration value="Fixed"/>
       <xs:enumeration value="KeyValue"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="jsonLibrary">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="Jackson"/>
+      <xs:enumeration value="XStream"/>
       <xs:enumeration value="Johnzon"/>
-      <xs:enumeration value="Fastjson"/>
       <xs:enumeration value="Gson"/>
-      <xs:enumeration value="XStream"/>
+      <xs:enumeration value="Fastjson"/>
+      <xs:enumeration value="Jackson"/>
     </xs:restriction>
   </xs:simpleType>
 
@@ -12474,33 +13573,33 @@ Sets a reference to a thread pool to be
 
   <xs:simpleType name="shutdownRoute">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="Default"/>
       <xs:enumeration value="Defer"/>
+      <xs:enumeration value="Default"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="shutdownRunningTask">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="CompleteCurrentTaskOnly"/>
       <xs:enumeration value="CompleteAllTasks"/>
+      <xs:enumeration value="CompleteCurrentTaskOnly"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="sagaPropagation">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="REQUIRED"/>
-      <xs:enumeration value="MANDATORY"/>
       <xs:enumeration value="REQUIRES_NEW"/>
-      <xs:enumeration value="NEVER"/>
       <xs:enumeration value="SUPPORTS"/>
+      <xs:enumeration value="REQUIRED"/>
       <xs:enumeration value="NOT_SUPPORTED"/>
+      <xs:enumeration value="MANDATORY"/>
+      <xs:enumeration value="NEVER"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="sagaCompletionMode">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="AUTO"/>
       <xs:enumeration value="MANUAL"/>
+      <xs:enumeration value="AUTO"/>
     </xs:restriction>
   </xs:simpleType>
 
@@ -12508,37 +13607,37 @@ Sets a reference to a thread pool to be
     <xs:restriction base="xs:string">
       <xs:enumeration value="header"/>
       <xs:enumeration value="query"/>
-      <xs:enumeration value="body"/>
       <xs:enumeration value="path"/>
+      <xs:enumeration value="body"/>
       <xs:enumeration value="formData"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="collectionFormat">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="pipes"/>
       <xs:enumeration value="ssv"/>
       <xs:enumeration value="tsv"/>
-      <xs:enumeration value="multi"/>
+      <xs:enumeration value="pipes"/>
       <xs:enumeration value="csv"/>
+      <xs:enumeration value="multi"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="restBindingMode">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="json"/>
-      <xs:enumeration value="json_xml"/>
       <xs:enumeration value="off"/>
       <xs:enumeration value="xml"/>
+      <xs:enumeration value="json"/>
+      <xs:enumeration value="json_xml"/>
       <xs:enumeration value="auto"/>
     </xs:restriction>
   </xs:simpleType>
 
   <xs:simpleType name="restHostNameResolver">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="allLocalIp"/>
       <xs:enumeration value="localHostName"/>
       <xs:enumeration value="localIp"/>
+      <xs:enumeration value="allLocalIp"/>
     </xs:restriction>
   </xs:simpleType>
 
@@ -12552,11 +13651,11 @@ Sets a reference to a thread pool to be
 
   <xs:simpleType name="errorHandlerType">
     <xs:restriction base="xs:string">
-      <xs:enumeration value="TransactionErrorHandler"/>
+      <xs:enumeration value="NoErrorHandler"/>
       <xs:enumeration value="DeadLetterChannel"/>
-      <xs:enumeration value="LoggingErrorHandler"/>
       <xs:enumeration value="DefaultErrorHandler"/>
-      <xs:enumeration value="NoErrorHandler"/>
+      <xs:enumeration value="TransactionErrorHandler"/>
+      <xs:enumeration value="LoggingErrorHandler"/>
     </xs:restriction>
   </xs:simpleType>
 </xs:schema>