This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.14.x by this push:
     new e074c01a719c CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy 
for CoAP query parameter to header mapping (#22146)
e074c01a719c is described below

commit e074c01a719cccf3b1c2efbd2ff31e60fd6220ce
Author: Andrea Cosentino <[email protected]>
AuthorDate: Fri Mar 20 13:06:37 2026 +0100

    CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query 
parameter to header mapping (#22146)
    
    * CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query 
parameter to header mapping
    
    Signed-off-by: Andrea Cosentino <[email protected]>
    
    * CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query 
parameter to header mapping
    
    Signed-off-by: Andrea Cosentino <[email protected]>
    
    ---------
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../apache/camel/catalog/components/coap+tcp.json  | 22 ++---
 .../org/apache/camel/catalog/components/coap.json  | 22 ++---
 .../apache/camel/catalog/components/coaps+tcp.json | 22 ++---
 .../org/apache/camel/catalog/components/coaps.json | 22 ++---
 .../apache/camel/coap/CoAPComponentConfigurer.java |  6 ++
 .../apache/camel/coap/CoAPEndpointConfigurer.java  |  6 ++
 .../apache/camel/coap/CoAPEndpointUriFactory.java  |  3 +-
 .../META-INF/org/apache/camel/coap/coap+tcp.json   | 22 ++---
 .../META-INF/org/apache/camel/coap/coap.json       | 22 ++---
 .../META-INF/org/apache/camel/coap/coaps+tcp.json  | 22 ++---
 .../META-INF/org/apache/camel/coap/coaps.json      | 22 ++---
 .../org/apache/camel/coap/CamelCoapResource.java   | 14 +++-
 .../java/org/apache/camel/coap/CoAPComponent.java  | 25 +++++-
 .../java/org/apache/camel/coap/CoAPEndpoint.java   | 23 +++++-
 .../camel/coap/CoAPHeaderFilterStrategy.java       | 33 ++++++++
 .../component/dsl/CoapComponentBuilderFactory.java | 19 +++++
 .../dsl/CoapTcpComponentBuilderFactory.java        | 19 +++++
 .../dsl/CoapsComponentBuilderFactory.java          | 19 +++++
 .../dsl/CoapsTcpComponentBuilderFactory.java       | 19 +++++
 .../endpoint/dsl/CoAPEndpointBuilderFactory.java   | 96 ++++++++++++++++++++++
 20 files changed, 372 insertions(+), 86 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
index a11b7dbaa857..5452763b1526 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
index a9449265d325..71e2316fe0e2 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
index f0805b299459..b7a5b1156080 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
index 6c4091658150..60497cf4be0f 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
 
b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
index e287fbcec854..d49d3b6209f3 100644
--- 
a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
+++ 
b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
@@ -29,6 +29,8 @@ public class CoAPComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
         case "configurationfile":
         case "configurationFile": 
target.setConfigurationFile(property(camelContext, java.lang.String.class, 
value)); return true;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": 
target.setHeaderFilterStrategy(property(camelContext, 
org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         default: return false;
@@ -44,6 +46,8 @@ public class CoAPComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "bridgeErrorHandler": return boolean.class;
         case "configurationfile":
         case "configurationFile": return java.lang.String.class;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return 
org.apache.camel.spi.HeaderFilterStrategy.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         default: return null;
@@ -60,6 +64,8 @@ public class CoAPComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "configurationfile":
         case "configurationFile": return target.getConfigurationFile();
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         default: return null;
diff --git 
a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
 
b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
index 7e25f85d6206..2772a3406e38 100644
--- 
a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
+++ 
b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
@@ -40,6 +40,8 @@ public class CoAPEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "exceptionHandler": 
target.setExceptionHandler(property(camelContext, 
org.apache.camel.spi.ExceptionHandler.class, value)); return true;
         case "exchangepattern":
         case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": 
target.setHeaderFilterStrategy(property(camelContext, 
org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         case "notify": target.setNotify(property(camelContext, boolean.class, 
value)); return true;
@@ -77,6 +79,8 @@ public class CoAPEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "exceptionHandler": return 
org.apache.camel.spi.ExceptionHandler.class;
         case "exchangepattern":
         case "exchangePattern": return org.apache.camel.ExchangePattern.class;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return 
org.apache.camel.spi.HeaderFilterStrategy.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         case "notify": return boolean.class;
@@ -115,6 +119,8 @@ public class CoAPEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "exceptionHandler": return target.getExceptionHandler();
         case "exchangepattern":
         case "exchangePattern": return target.getExchangePattern();
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "notify": return target.isNotify();
diff --git 
a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
 
b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
index 2eaae9933408..10601ae88f12 100644
--- 
a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
+++ 
b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class CoAPEndpointUriFactory extends 
org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(18);
+        Set<String> props = new HashSet<>(19);
         props.add("advancedCertificateVerifier");
         props.add("advancedPskStore");
         props.add("alias");
@@ -34,6 +34,7 @@ public class CoAPEndpointUriFactory extends 
org.apache.camel.support.component.E
         props.add("coapMethodRestrict");
         props.add("exceptionHandler");
         props.add("exchangePattern");
+        props.add("headerFilterStrategy");
         props.add("lazyStartProducer");
         props.add("notify");
         props.add("observable");
diff --git 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
index a11b7dbaa857..5452763b1526 100644
--- 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
+++ 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
index a9449265d325..71e2316fe0e2 100644
--- 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
+++ 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
index f0805b299459..b7a5b1156080 100644
--- 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
+++ 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
index 6c4091658150..60497cf4be0f 100644
--- 
a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
+++ 
b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -47,14 +48,15 @@
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
index 25cd4fc109aa..161d8612c357 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
@@ -22,6 +22,7 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.camel.Message;
+import org.apache.camel.spi.HeaderFilterStrategy;
 import org.eclipse.californium.core.CoapResource;
 import org.eclipse.californium.core.coap.CoAP.ResponseCode;
 import org.eclipse.californium.core.coap.MediaTypeRegistry;
@@ -99,13 +100,22 @@ final class CamelCoapResource extends CoapResource {
             camelExchange = consumer.createExchange(false);
             consumer.createUoW(camelExchange);
 
+            HeaderFilterStrategy strategy = 
consumer.getCoapEndpoint().getHeaderFilterStrategy();
             OptionSet options = exchange.getRequest().getOptions();
             for (String s : options.getUriQuery()) {
                 int i = s.indexOf('=');
+                String name;
+                String value;
                 if (i == -1) {
-                    camelExchange.getIn().setHeader(s, "");
+                    name = s;
+                    value = "";
                 } else {
-                    camelExchange.getIn().setHeader(s.substring(0, i), 
s.substring(i + 1));
+                    name = s.substring(0, i);
+                    value = s.substring(i + 1);
+                }
+                if (strategy == null
+                        || !strategy.applyFilterToExternalHeaders(name, value, 
camelExchange)) {
+                    camelExchange.getIn().setHeader(name, value);
                 }
             }
 
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
index 3a2f4c014a1c..c058994c5679 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
@@ -32,6 +32,8 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Consumer;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Processor;
+import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.HeaderFilterStrategyAware;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
@@ -58,12 +60,15 @@ import org.slf4j.LoggerFactory;
  * Represents the component that manages {@link CoAPEndpoint}.
  */
 @Component("coap,coaps,coap+tcp,coaps+tcp")
-public class CoAPComponent extends DefaultComponent implements 
RestConsumerFactory {
+public class CoAPComponent extends DefaultComponent implements 
RestConsumerFactory, HeaderFilterStrategyAware {
     static final int DEFAULT_PORT = 5684;
     private static final Logger LOG = 
LoggerFactory.getLogger(CoAPComponent.class);
 
     @Metadata
     private String configurationFile;
+    @Metadata(label = "filter",
+              description = "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message.")
+    private HeaderFilterStrategy headerFilterStrategy;
 
     final Map<Integer, CoapServer> servers = new ConcurrentHashMap<>();
 
@@ -153,9 +158,25 @@ public class CoAPComponent extends DefaultComponent 
implements RestConsumerFacto
         coapBuilder.setConnector(connector);
     }
 
+    @Override
+    public HeaderFilterStrategy getHeaderFilterStrategy() {
+        return headerFilterStrategy;
+    }
+
+    /**
+     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to 
filter header to and from Camel message.
+     */
+    @Override
+    public void setHeaderFilterStrategy(HeaderFilterStrategy 
headerFilterStrategy) {
+        this.headerFilterStrategy = headerFilterStrategy;
+    }
+
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
-        Endpoint endpoint = new CoAPEndpoint(uri, this);
+        CoAPEndpoint endpoint = new CoAPEndpoint(uri, this);
+        if (headerFilterStrategy != null) {
+            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
+        }
         setProperties(endpoint, parameters);
         return endpoint;
     }
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
index f62152ebb922..3e6df9e63097 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
@@ -38,6 +38,8 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.spi.EndpointServiceLocation;
+import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.HeaderFilterStrategyAware;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -76,7 +78,7 @@ import static 
org.eclipse.californium.scandium.config.DtlsConfig.DTLS_RECOMMENDE
  */
 @UriEndpoint(firstVersion = "2.16.0", scheme = 
"coap,coaps,coap+tcp,coaps+tcp", title = "CoAP", syntax = "coap:uri",
              category = { Category.IOT }, headersClass = CoAPConstants.class)
-public class CoAPEndpoint extends DefaultEndpoint implements 
EndpointServiceLocation {
+public class CoAPEndpoint extends DefaultEndpoint implements 
EndpointServiceLocation, HeaderFilterStrategyAware {
     final static Logger LOGGER = LoggerFactory.getLogger(CoAPEndpoint.class);
     @UriPath
     private URI uri;
@@ -107,6 +109,9 @@ public class CoAPEndpoint extends DefaultEndpoint 
implements EndpointServiceLoca
     private boolean observable;
     @UriParam(label = "producer", defaultValue = "false")
     private boolean notify;
+    @UriParam(label = "advanced",
+              description = "To use a custom HeaderFilterStrategy to filter 
header to and from Camel message.")
+    private HeaderFilterStrategy headerFilterStrategy;
 
     private CoAPComponent component;
 
@@ -257,6 +262,22 @@ public class CoAPEndpoint extends DefaultEndpoint 
implements EndpointServiceLoca
         this.notify = notify;
     }
 
+    @Override
+    public HeaderFilterStrategy getHeaderFilterStrategy() {
+        if (headerFilterStrategy == null) {
+            headerFilterStrategy = new CoAPHeaderFilterStrategy();
+        }
+        return headerFilterStrategy;
+    }
+
+    /**
+     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to 
filter header to and from Camel message.
+     */
+    @Override
+    public void setHeaderFilterStrategy(HeaderFilterStrategy 
headerFilterStrategy) {
+        this.headerFilterStrategy = headerFilterStrategy;
+    }
+
     /**
      * Get the SSLContextParameters object for setting up TLS. This is 
required for coaps+tcp, and for coaps when we are
      * using certificates for TLS (as opposed to RPK or PKS).
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java
 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java
new file mode 100644
index 000000000000..8df5f09fd979
--- /dev/null
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.coap;
+
+import org.apache.camel.support.DefaultHeaderFilterStrategy;
+
+/**
+ * Default header filter strategy for CoAP endpoints.
+ * <p>
+ * Filters out Camel internal headers (starting with "Camel" or "camel") in 
both directions to prevent external CoAP
+ * clients from injecting internal Camel headers via query parameters.
+ */
+public class CoAPHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
+
+    public CoAPHeaderFilterStrategy() {
+        setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+    }
+}
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
index 17421358439f..52823d1066eb 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
@@ -142,6 +142,24 @@ public interface CoapComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapComponentBuilderImpl
@@ -161,6 +179,7 @@ public interface CoapComponentBuilderFactory {
             case "bridgeErrorHandler": ((CoAPComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
index 83caf4a585cb..ccc80e9dd855 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
@@ -142,6 +142,24 @@ public interface CoapTcpComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapTcpComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapTcpComponentBuilderImpl
@@ -161,6 +179,7 @@ public interface CoapTcpComponentBuilderFactory {
             case "bridgeErrorHandler": ((CoAPComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
index 9849bcfaa5e9..eba87fb9c8d7 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
@@ -142,6 +142,24 @@ public interface CoapsComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapsComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapsComponentBuilderImpl
@@ -161,6 +179,7 @@ public interface CoapsComponentBuilderFactory {
             case "bridgeErrorHandler": ((CoAPComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
index 5a02ba35d0bd..9ffb136bc398 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
@@ -142,6 +142,24 @@ public interface CoapsTcpComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapsTcpComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapsTcpComponentBuilderImpl
@@ -161,6 +179,7 @@ public interface CoapsTcpComponentBuilderFactory {
             case "bridgeErrorHandler": ((CoAPComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
index 722636996c7d..7e65e4666440 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
@@ -510,6 +510,38 @@ public interface CoAPEndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointConsumerBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointConsumerBuilder 
headerFilterStrategy(String headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     /**
@@ -875,6 +907,38 @@ public interface CoAPEndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointProducerBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointProducerBuilder 
headerFilterStrategy(String headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     /**
@@ -1164,6 +1228,38 @@ public interface CoAPEndpointBuilderFactory {
             return (CoAPEndpointBuilder) this;
         }
 
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointBuilder headerFilterStrategy(String 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     public interface CoAPBuilders {

Reply via email to