You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2026/08/31 16:11:57 UTC
(camel) branch camel-4.22.x updated: CAMEL-24476/24477/24478: muteException for the mina, cxf and grpc consumers, backport to camel-4.22.x
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.22.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.22.x by this push:
new 9a6e8222085e CAMEL-24476/24477/24478: muteException for the mina, cxf and grpc consumers, backport to camel-4.22.x
9a6e8222085e is described below
commit 9a6e8222085ed12f73ce76f826aeb69e9d111ff8
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Aug 31 18:11:49 2026 +0200
CAMEL-24476/24477/24478: muteException for the mina, cxf and grpc consumers, backport to camel-4.22.x
Backports three consumer fixes already reviewed and merged on main to camel-4.22.x.
Each adds a muteException consumer option, defaulting to true, so a route failure no
longer hands the remote caller the exception class, message or stack trace: mina
consumers stop echoing exceptions back over the socket, cxf/SOAP faults for
undeclared exceptions no longer describe internal types and messages (declared
@WebFault faults are unaffected), and grpc no longer puts the route exception's
message into the status description. This aligns all three with the behaviour
CAMEL-23651 established for the HTTP consumers.
Two mechanical deviations from a straight cherry-pick: the new MinaMuteExceptionTest
uses JUnit assertions to match camel-mina's existing JUnit-only test style on this
branch, and an unrelated YAML DSL schema regeneration hunk (dropping csimple) was
left out of the grpc commit since csimple is still valid here. Also includes a
GreeterClientTest update for the new cxf muteException default. Upgrade-guide
entries are intentionally excluded — those live on main only.
Co-authored-by: Claude Opus 5 (1M context) <no...@anthropic.com>
Closes #25934
---
.../org/apache/camel/catalog/components/cxf.json | 69 ++++++-------
.../org/apache/camel/catalog/components/grpc.json | 53 +++++-----
.../org/apache/camel/catalog/components/mina.json | 86 ++++++++--------
components/camel-cxf/camel-cxf-soap/pom.xml | 6 ++
.../component/cxf/jaxws/CxfEndpointConfigurer.java | 6 ++
.../component/cxf/jaxws/CxfEndpointUriFactory.java | 3 +-
.../org/apache/camel/component/cxf/jaxws/cxf.json | 69 ++++++-------
.../camel/component/cxf/jaxws/CxfConsumer.java | 40 ++++++--
.../camel/component/cxf/jaxws/CxfEndpoint.java | 16 +++
.../jaxws/CxfConsumerContinuationTimeoutTest.java | 71 ++++++-------
.../cxf/jaxws/CxfConsumerMuteExceptionTest.java | 111 +++++++++++++++++++++
.../component/grpc/GrpcEndpointConfigurer.java | 6 ++
.../component/grpc/GrpcEndpointUriFactory.java | 3 +-
.../org/apache/camel/component/grpc/grpc.json | 53 +++++-----
.../camel/component/grpc/GrpcConfiguration.java | 15 +++
.../component/grpc/server/GrpcMethodHandler.java | 8 +-
.../component/grpc/GrpcConsumerExceptionTest.java | 50 +++++++++-
.../component/mina/MinaComponentConfigurer.java | 6 ++
.../component/mina/MinaEndpointConfigurer.java | 6 ++
.../component/mina/MinaEndpointUriFactory.java | 3 +-
.../org/apache/camel/component/mina/mina.json | 86 ++++++++--------
.../camel/component/mina/MinaConfiguration.java | 14 +++
.../apache/camel/component/mina/MinaConsumer.java | 17 +++-
.../component/mina/MinaMuteExceptionTest.java | 88 ++++++++++++++++
.../MinaTcpLineDelimiterUsingPlainSocketTest.java | 2 +-
.../mina/MinaTcpWithInOutUsingPlainSocketTest.java | 2 +-
.../MinaTcpWithIoOutProcessorExceptionTest.java | 2 +-
.../component/dsl/MinaComponentBuilderFactory.java | 20 ++++
.../endpoint/dsl/CxfEndpointBuilderFactory.java | 42 ++++++++
.../endpoint/dsl/GrpcEndpointBuilderFactory.java | 34 +++++++
.../endpoint/dsl/MinaEndpointBuilderFactory.java | 34 +++++++
.../camel/itest/security/GreeterClientTest.java | 9 +-
32 files changed, 764 insertions(+), 266 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json
index 29661d9deac5..998bbf0b12a1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json
@@ -46,39 +46,40 @@
"address": { "index": 1, "kind": "path", "displayName": "Address", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service publish address." },
"dataFormat": { "index": 2, "kind": "parameter", "displayName": "Data Format", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "org.apache.camel.component.cxf.common.DataFormat", "enum": [ "PAYLOAD", "RAW", "MESSAGE", "CXF_MESSAGE", "POJO" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "POJO", "description": "The data type messages supported by the CXF endpoint." },
"wrappedStyle": { "index": 3, "kind": "parameter", "displayName": "Wrapped Style", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "The WSDL style that describes how parameters are represented in the SOAP body. If the value is false, CXF will chose the document-literal unwrapped style, If the value is true, CXF will chose the document- [...]
- "bridgeErrorHandler": { "index": 4, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
- "exceptionHandler": { "index": 5, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By def [...]
- "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." },
- "cookieHandler": { "index": 7, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" },
- "defaultOperationName": { "index": 8, "kind": "parameter", "displayName": "Default Operation Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationName that will be used by the CxfProducer which invokes the remote service." },
- "defaultOperationNamespace": { "index": 9, "kind": "parameter", "displayName": "Default Operation Namespace", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service." },
- "hostnameVerifier": { "index": 10, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." },
- "sslContextParameters": { "index": 11, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." },
- "wrapped": { "index": 12, "kind": "parameter", "displayName": "Wrapped", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Which kind of operation that CXF endpoint producer will invoke" },
- "lazyStartProducer": { "index": 13, "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 produ [...]
- "synchronous": { "index": 14, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
- "allowStreaming": { "index": 15, "kind": "parameter", "displayName": "Allow Streaming", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source objec [...]
- "bus": { "index": 16, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." },
- "continuationTimeout": { "index": 17, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." },
- "cxfBinding": { "index": 18, "kind": "parameter", "displayName": "Cxf Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.common.CxfBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." },
- "cxfConfigurer": { "index": 19, "kind": "parameter", "displayName": "Cxf Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxws.CxfConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure [...]
- "defaultBus": { "index": 20, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" },
- "headerFilterStrategy": { "index": 21, "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." },
- "mergeProtocolHeaders": { "index": 22, "kind": "parameter", "displayName": "Merge Protocol Headers", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393." },
- "mtomEnabled": { "index": 23, "kind": "parameter", "displayName": "Mtom Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable MTOM (attachments). This requires to use POJO or PAYLOAD data format mode." },
- "properties": { "index": 24, "kind": "parameter", "displayName": "Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "properties.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To set additional CXF options using the key\/value pairs from the Map. For example to turn on stacktraces in SOAP faults, properties.faultStackTra [...]
- "schemaValidationEnabled": { "index": 25, "kind": "parameter", "displayName": "Schema Validation Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable schema validation for request and response. Disabled by default for performance reason" },
- "skipPayloadMessagePartCheck": { "index": 26, "kind": "parameter", "displayName": "Skip Payload Message Part Check", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether SOAP message validation should be disabled." },
- "loggingFeatureEnabled": { "index": 27, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log." },
- "loggingSizeLimit": { "index": 28, "kind": "parameter", "displayName": "Logging Size Limit", "group": "logging", "label": "logging", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 49152, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit." },
- "skipFaultLogging": { "index": 29, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." },
- "password": { "index": 30, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of password for the CXF client." },
- "username": { "index": 31, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of username for the CXF client." },
- "bindingId": { "index": 32, "kind": "parameter", "displayName": "Binding Id", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The bindingId for the service model to use." },
- "portName": { "index": 33, "kind": "parameter", "displayName": "Port Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint name this service is implementing, it maps to the wsdl:portname. In the format of ns:PORT_NAME where ns is a namespace prefix valid at this scope." },
- "publishedEndpointUrl": { "index": 34, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus wsd" },
- "serviceClass": { "index": 35, "kind": "parameter", "displayName": "Service Class", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.Class<java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "The class name of the SEI (Service Endpoint Interface) class which could have JSR181 annotation or not." },
- "serviceName": { "index": 36, "kind": "parameter", "displayName": "Service Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service name this service is implementing, it maps to the wsdl:servicename." },
- "wsdlURL": { "index": 37, "kind": "parameter", "displayName": "Wsdl URL", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The location of the WSDL. Can be on the classpath, file system, or be hosted remotely." }
+ "muteException": { "index": 4, "kind": "parameter", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If enabled and an Exchange failed processing on the consumer side, and the exception is not a SOAP fault the service contract declares, the SOAP fault returned to the caller won't contain the exception's [...]
+ "bridgeErrorHandler": { "index": 5, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
+ "exceptionHandler": { "index": 6, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By def [...]
+ "exchangePattern": { "index": 7, "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." },
+ "cookieHandler": { "index": 8, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" },
+ "defaultOperationName": { "index": 9, "kind": "parameter", "displayName": "Default Operation Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationName that will be used by the CxfProducer which invokes the remote service." },
+ "defaultOperationNamespace": { "index": 10, "kind": "parameter", "displayName": "Default Operation Namespace", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service." },
+ "hostnameVerifier": { "index": 11, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." },
+ "sslContextParameters": { "index": 12, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." },
+ "wrapped": { "index": 13, "kind": "parameter", "displayName": "Wrapped", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Which kind of operation that CXF endpoint producer will invoke" },
+ "lazyStartProducer": { "index": 14, "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 produ [...]
+ "synchronous": { "index": 15, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
+ "allowStreaming": { "index": 16, "kind": "parameter", "displayName": "Allow Streaming", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source objec [...]
+ "bus": { "index": 17, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." },
+ "continuationTimeout": { "index": 18, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." },
+ "cxfBinding": { "index": 19, "kind": "parameter", "displayName": "Cxf Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.common.CxfBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." },
+ "cxfConfigurer": { "index": 20, "kind": "parameter", "displayName": "Cxf Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxws.CxfConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure [...]
+ "defaultBus": { "index": 21, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" },
+ "headerFilterStrategy": { "index": 22, "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." },
+ "mergeProtocolHeaders": { "index": 23, "kind": "parameter", "displayName": "Merge Protocol Headers", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393." },
+ "mtomEnabled": { "index": 24, "kind": "parameter", "displayName": "Mtom Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable MTOM (attachments). This requires to use POJO or PAYLOAD data format mode." },
+ "properties": { "index": 25, "kind": "parameter", "displayName": "Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "properties.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To set additional CXF options using the key\/value pairs from the Map. For example to turn on stacktraces in SOAP faults, properties.faultStackTra [...]
+ "schemaValidationEnabled": { "index": 26, "kind": "parameter", "displayName": "Schema Validation Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable schema validation for request and response. Disabled by default for performance reason" },
+ "skipPayloadMessagePartCheck": { "index": 27, "kind": "parameter", "displayName": "Skip Payload Message Part Check", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether SOAP message validation should be disabled." },
+ "loggingFeatureEnabled": { "index": 28, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log." },
+ "loggingSizeLimit": { "index": 29, "kind": "parameter", "displayName": "Logging Size Limit", "group": "logging", "label": "logging", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 49152, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit." },
+ "skipFaultLogging": { "index": 30, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." },
+ "password": { "index": 31, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of password for the CXF client." },
+ "username": { "index": 32, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of username for the CXF client." },
+ "bindingId": { "index": 33, "kind": "parameter", "displayName": "Binding Id", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The bindingId for the service model to use." },
+ "portName": { "index": 34, "kind": "parameter", "displayName": "Port Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint name this service is implementing, it maps to the wsdl:portname. In the format of ns:PORT_NAME where ns is a namespace prefix valid at this scope." },
+ "publishedEndpointUrl": { "index": 35, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus wsd" },
+ "serviceClass": { "index": 36, "kind": "parameter", "displayName": "Service Class", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.Class<java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "The class name of the SEI (Service Endpoint Interface) class which could have JSR181 annotation or not." },
+ "serviceName": { "index": 37, "kind": "parameter", "displayName": "Service Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service name this service is implementing, it maps to the wsdl:servicename." },
+ "wsdlURL": { "index": 38, "kind": "parameter", "displayName": "Wsdl URL", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The location of the WSDL. Can be on the classpath, file system, or be hosted remotely." }
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json
index 3f9b8465f14f..90098ad9e95d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json
@@ -54,31 +54,32 @@
"maxInboundMetadataSize": { "index": 16, "kind": "parameter", "displayName": "Max Inbound Metadata Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets the maximum size of metadata allowed to be received. The default is [...]
"maxRstFramesPerWindow": { "index": 17, "kind": "parameter", "displayName": "Max Rst Frames Per Window", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Limits the rate of incoming RST_STREAM frames per connection to maxRstFramesP [...]
"maxRstPeriodSeconds": { "index": 18, "kind": "parameter", "displayName": "Max Rst Period Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Limits the rate of incoming RST_STREAM frames per maxRstPeriodSeconds. This option [...]
- "permitKeepAliveTime": { "index": 19, "kind": "parameter", "displayName": "Permit Keep Alive Time", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 300000, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets the most aggressive keep-alive time in milliseconds that clients are pe [...]
- "permitKeepAliveWithoutCalls": { "index": 20, "kind": "parameter", "displayName": "Permit Keep Alive Without Calls", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether to allow clients to send keep-alive HTTP\/ 2 [...]
- "routeControlledStreamObserver": { "index": 21, "kind": "parameter", "displayName": "Route Controlled Stream Observer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Lets the route to take control over stream observer. I [...]
- "bridgeErrorHandler": { "index": 22, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
- "exceptionHandler": { "index": 23, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
- "exchangePattern": { "index": 24, "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." },
- "autoDiscoverClientInterceptors": { "index": 25, "kind": "parameter", "displayName": "Auto Discover Client Interceptors", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClientInterceptors mechanism, [...]
- "inheritExchangePropertiesForReplies": { "index": 26, "kind": "parameter", "displayName": "Inherit Exchange Properties For Replies", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Copies exchange properties from original [...]
- "method": { "index": 27, "kind": "parameter", "displayName": "Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "gRPC method name" },
- "producerStrategy": { "index": 28, "kind": "parameter", "displayName": "Producer Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcProducerStrategy", "enum": [ "SIMPLE", "STREAMING" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SIMPLE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Th [...]
- "streamRepliesTo": { "index": 29, "kind": "parameter", "displayName": "Stream Replies To", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "When using STREAMING client mode, it indicates the endpoint where responses should be forwarded." },
- "toRouteControlledStreamObserver": { "index": 30, "kind": "parameter", "displayName": "To Route Controlled Stream Observer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Expects that exchange property GrpcConstants.GRPC [...]
- "userAgent": { "index": 31, "kind": "parameter", "displayName": "User Agent", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The user agent header passed to the server" },
- "lazyStartProducer": { "index": 32, "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 produ [...]
- "synchronous": { "index": 33, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" },
- "authenticationType": { "index": 34, "kind": "parameter", "displayName": "Authentication Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcAuthType", "enum": [ "NONE", "GOOGLE", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Authen [...]
- "jwtAlgorithm": { "index": 35, "kind": "parameter", "displayName": "Jwt Algorithm", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.auth.jwt.JwtAlgorithm", "enum": [ "HMAC256", "HMAC384", "HMAC512", "RSA256", "RSA384", "RSA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HMAC256", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": " [...]
- "jwtIssuer": { "index": 36, "kind": "parameter", "displayName": "Jwt Issuer", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token issuer" },
- "jwtSecret": { "index": 37, "kind": "parameter", "displayName": "Jwt Secret", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token secret" },
- "jwtSubject": { "index": 38, "kind": "parameter", "displayName": "Jwt Subject", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token subject" },
- "keyCertChainResource": { "index": 39, "kind": "parameter", "displayName": "Key Cert Chain Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The X.509 certificate chain file r [...]
- "keyPassword": { "index": 40, "kind": "parameter", "displayName": "Key Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file password" },
- "keyResource": { "index": 41, "kind": "parameter", "displayName": "Key Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file resource in PEM format link" },
- "negotiationType": { "index": 42, "kind": "parameter", "displayName": "Negotiation Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "io.grpc.netty.NegotiationType", "enum": [ "PLAINTEXT", "TLS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Identifies the security neg [...]
- "serviceAccountResource": { "index": 43, "kind": "parameter", "displayName": "Service Account Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Service Account key file in JSO [...]
- "trustCertCollectionResource": { "index": 44, "kind": "parameter", "displayName": "Trust Cert Collection Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The trusted certific [...]
+ "muteException": { "index": 19, "kind": "parameter", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "If enabled and an Exchange failed processing on the consumer side the status description [...]
+ "permitKeepAliveTime": { "index": 20, "kind": "parameter", "displayName": "Permit Keep Alive Time", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 300000, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets the most aggressive keep-alive time in milliseconds that clients are pe [...]
+ "permitKeepAliveWithoutCalls": { "index": 21, "kind": "parameter", "displayName": "Permit Keep Alive Without Calls", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether to allow clients to send keep-alive HTTP\/ 2 [...]
+ "routeControlledStreamObserver": { "index": 22, "kind": "parameter", "displayName": "Route Controlled Stream Observer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Lets the route to take control over stream observer. I [...]
+ "bridgeErrorHandler": { "index": 23, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
+ "exceptionHandler": { "index": 24, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 25, "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." },
+ "autoDiscoverClientInterceptors": { "index": 26, "kind": "parameter", "displayName": "Auto Discover Client Interceptors", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClientInterceptors mechanism, [...]
+ "inheritExchangePropertiesForReplies": { "index": 27, "kind": "parameter", "displayName": "Inherit Exchange Properties For Replies", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Copies exchange properties from original [...]
+ "method": { "index": 28, "kind": "parameter", "displayName": "Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "gRPC method name" },
+ "producerStrategy": { "index": 29, "kind": "parameter", "displayName": "Producer Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcProducerStrategy", "enum": [ "SIMPLE", "STREAMING" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SIMPLE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Th [...]
+ "streamRepliesTo": { "index": 30, "kind": "parameter", "displayName": "Stream Replies To", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "When using STREAMING client mode, it indicates the endpoint where responses should be forwarded." },
+ "toRouteControlledStreamObserver": { "index": 31, "kind": "parameter", "displayName": "To Route Controlled Stream Observer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Expects that exchange property GrpcConstants.GRPC [...]
+ "userAgent": { "index": 32, "kind": "parameter", "displayName": "User Agent", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The user agent header passed to the server" },
+ "lazyStartProducer": { "index": 33, "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 produ [...]
+ "synchronous": { "index": 34, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" },
+ "authenticationType": { "index": 35, "kind": "parameter", "displayName": "Authentication Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcAuthType", "enum": [ "NONE", "GOOGLE", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Authen [...]
+ "jwtAlgorithm": { "index": 36, "kind": "parameter", "displayName": "Jwt Algorithm", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.auth.jwt.JwtAlgorithm", "enum": [ "HMAC256", "HMAC384", "HMAC512", "RSA256", "RSA384", "RSA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HMAC256", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": " [...]
+ "jwtIssuer": { "index": 37, "kind": "parameter", "displayName": "Jwt Issuer", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token issuer" },
+ "jwtSecret": { "index": 38, "kind": "parameter", "displayName": "Jwt Secret", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token secret" },
+ "jwtSubject": { "index": 39, "kind": "parameter", "displayName": "Jwt Subject", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token subject" },
+ "keyCertChainResource": { "index": 40, "kind": "parameter", "displayName": "Key Cert Chain Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The X.509 certificate chain file r [...]
+ "keyPassword": { "index": 41, "kind": "parameter", "displayName": "Key Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file password" },
+ "keyResource": { "index": 42, "kind": "parameter", "displayName": "Key Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file resource in PEM format link" },
+ "negotiationType": { "index": 43, "kind": "parameter", "displayName": "Negotiation Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "io.grpc.netty.NegotiationType", "enum": [ "PLAINTEXT", "TLS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Identifies the security neg [...]
+ "serviceAccountResource": { "index": 44, "kind": "parameter", "displayName": "Service Account Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Service Account key file in JSO [...]
+ "trustCertCollectionResource": { "index": 45, "kind": "parameter", "displayName": "Trust Cert Collection Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The trusted certific [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
index 865971a979e8..2b24ab28c2e7 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
@@ -31,27 +31,28 @@
"writeTimeout": { "index": 4, "kind": "property", "displayName": "Write Timeout", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds." },
"bridgeErrorHandler": { "index": 5, "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 [...]
"clientMode": { "index": 6, "kind": "property", "displayName": "Client Mode", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If the clientMode is true, mina consumer will connect the address as a TCP client." },
- "noReplyLogLevel": { "index": 7, "kind": "property", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration" [...]
- "lazyStartProducer": { "index": 8, "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 [...]
- "cachedAddress": { "index": 9, "kind": "property", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to false [...]
- "lazySessionCreation": { "index": 10, "kind": "property", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if th [...]
- "autowiredEnabled": { "index": 11, "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 [...]
- "configuration": { "index": 12, "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.mina.MinaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use the shared mina configuration." },
- "disconnectOnNoReply": { "index": 13, "kind": "property", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disco [...]
- "maximumPoolSize": { "index": 14, "kind": "property", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
- "orderedThreadPoolExecutor": { "index": 15, "kind": "property", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are process [...]
- "transferExchange": { "index": 16, "kind": "property", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the exchan [...]
- "allowDefaultCodec": { "index": 17, "kind": "property", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fals [...]
- "codec": { "index": 18, "kind": "property", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
- "decoderMaxLineLength": { "index": 19, "kind": "property", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value o [...]
- "encoderMaxLineLength": { "index": 20, "kind": "property", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
- "encoding": { "index": 21, "kind": "property", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
- "filters": { "index": 22, "kind": "property", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
- "objectCodecPattern": { "index": 23, "kind": "property", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise rejecte [...]
- "textline": { "index": 24, "kind": "property", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if [...]
- "textlineDelimiter": { "index": 25, "kind": "property", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
- "sslContextParameters": { "index": 26, "kind": "property", "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." },
- "useGlobalSslContextParameters": { "index": 27, "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters." }
+ "muteException": { "index": 7, "kind": "property", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If enabled and an Exchange failed processing on the consumer side the response written back [...]
+ "noReplyLogLevel": { "index": 8, "kind": "property", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration" [...]
+ "lazyStartProducer": { "index": 9, "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 [...]
+ "cachedAddress": { "index": 10, "kind": "property", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to fals [...]
+ "lazySessionCreation": { "index": 11, "kind": "property", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if th [...]
+ "autowiredEnabled": { "index": 12, "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 [...]
+ "configuration": { "index": 13, "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.mina.MinaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use the shared mina configuration." },
+ "disconnectOnNoReply": { "index": 14, "kind": "property", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disco [...]
+ "maximumPoolSize": { "index": 15, "kind": "property", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
+ "orderedThreadPoolExecutor": { "index": 16, "kind": "property", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are process [...]
+ "transferExchange": { "index": 17, "kind": "property", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the exchan [...]
+ "allowDefaultCodec": { "index": 18, "kind": "property", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fals [...]
+ "codec": { "index": 19, "kind": "property", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
+ "decoderMaxLineLength": { "index": 20, "kind": "property", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value o [...]
+ "encoderMaxLineLength": { "index": 21, "kind": "property", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
+ "encoding": { "index": 22, "kind": "property", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
+ "filters": { "index": 23, "kind": "property", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
+ "objectCodecPattern": { "index": 24, "kind": "property", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise rejecte [...]
+ "textline": { "index": 25, "kind": "property", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if [...]
+ "textlineDelimiter": { "index": 26, "kind": "property", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
+ "sslContextParameters": { "index": 27, "kind": "property", "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." },
+ "useGlobalSslContextParameters": { "index": 28, "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters." }
},
"headers": {
"CamelMinaCloseSessionWhenComplete": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Indicates whether the session should be closed after complete", "constantName": "org.apache.camel.component.mina.MinaConstants#MINA_CLOSE_SESSION_WHEN_COMPLETE" },
@@ -69,26 +70,27 @@
"timeout": { "index": 6, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the timeout that specifies how long to wait for a response from a remote server. The timeout unit [...]
"writeTimeout": { "index": 7, "kind": "parameter", "displayName": "Write Timeout", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds." },
"clientMode": { "index": 8, "kind": "parameter", "displayName": "Client Mode", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If the clientMode is true, mina consumer will connect the address as a TCP client." },
- "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
- "exceptionHandler": { "index": 10, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
- "exchangePattern": { "index": 11, "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." },
- "noReplyLogLevel": { "index": 12, "kind": "parameter", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuratio [...]
- "cachedAddress": { "index": 13, "kind": "parameter", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to fal [...]
- "lazySessionCreation": { "index": 14, "kind": "parameter", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if t [...]
- "lazyStartProducer": { "index": 15, "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 produ [...]
- "disconnectOnNoReply": { "index": 16, "kind": "parameter", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disc [...]
- "maximumPoolSize": { "index": 17, "kind": "parameter", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
- "orderedThreadPoolExecutor": { "index": 18, "kind": "parameter", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are proces [...]
- "transferExchange": { "index": 19, "kind": "parameter", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the excha [...]
- "allowDefaultCodec": { "index": 20, "kind": "parameter", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fal [...]
- "codec": { "index": 21, "kind": "parameter", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
- "decoderMaxLineLength": { "index": 22, "kind": "parameter", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value [...]
- "encoderMaxLineLength": { "index": 23, "kind": "parameter", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
- "encoding": { "index": 24, "kind": "parameter", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
- "filters": { "index": 25, "kind": "parameter", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
- "objectCodecPattern": { "index": 26, "kind": "parameter", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise reject [...]
- "textline": { "index": 27, "kind": "parameter", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; i [...]
- "textlineDelimiter": { "index": 28, "kind": "parameter", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
- "sslContextParameters": { "index": 29, "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." }
+ "muteException": { "index": 9, "kind": "parameter", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If enabled and an Exchange failed processing on the consumer side the response written bac [...]
+ "bridgeErrorHandler": { "index": 10, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
+ "exceptionHandler": { "index": 11, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 12, "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." },
+ "noReplyLogLevel": { "index": 13, "kind": "parameter", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuratio [...]
+ "cachedAddress": { "index": 14, "kind": "parameter", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to fal [...]
+ "lazySessionCreation": { "index": 15, "kind": "parameter", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if t [...]
+ "lazyStartProducer": { "index": 16, "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 produ [...]
+ "disconnectOnNoReply": { "index": 17, "kind": "parameter", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disc [...]
+ "maximumPoolSize": { "index": 18, "kind": "parameter", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
+ "orderedThreadPoolExecutor": { "index": 19, "kind": "parameter", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are proces [...]
+ "transferExchange": { "index": 20, "kind": "parameter", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the excha [...]
+ "allowDefaultCodec": { "index": 21, "kind": "parameter", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fal [...]
+ "codec": { "index": 22, "kind": "parameter", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
+ "decoderMaxLineLength": { "index": 23, "kind": "parameter", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value [...]
+ "encoderMaxLineLength": { "index": 24, "kind": "parameter", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
+ "encoding": { "index": 25, "kind": "parameter", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
+ "filters": { "index": 26, "kind": "parameter", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
+ "objectCodecPattern": { "index": 27, "kind": "parameter", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise reject [...]
+ "textline": { "index": 28, "kind": "parameter", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; i [...]
+ "textlineDelimiter": { "index": 29, "kind": "parameter", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
+ "sslContextParameters": { "index": 30, "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." }
}
}
diff --git a/components/camel-cxf/camel-cxf-soap/pom.xml b/components/camel-cxf/camel-cxf-soap/pom.xml
index a4d92b23e859..72d9ccc729d4 100644
--- a/components/camel-cxf/camel-cxf-soap/pom.xml
+++ b/components/camel-cxf/camel-cxf-soap/pom.xml
@@ -210,6 +210,12 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
diff --git a/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointConfigurer.java b/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointConfigurer.java
index 0154eb1a18da..292e6c4a15af 100644
--- a/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointConfigurer.java
+++ b/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointConfigurer.java
@@ -64,6 +64,8 @@ public class CxfEndpointConfigurer extends PropertyConfigurerSupport implements
case "mergeProtocolHeaders": target.setMergeProtocolHeaders(property(camelContext, boolean.class, value)); return true;
case "mtomenabled":
case "mtomEnabled": target.setMtomEnabled(property(camelContext, boolean.class, value)); return true;
+ case "muteexception":
+ case "muteException": target.setMuteException(property(camelContext, boolean.class, value)); return true;
case "password": target.setPassword(property(camelContext, java.lang.String.class, value)); return true;
case "portname":
case "portName": target.setPortName(property(camelContext, java.lang.String.class, value)); return true;
@@ -137,6 +139,8 @@ public class CxfEndpointConfigurer extends PropertyConfigurerSupport implements
case "mergeProtocolHeaders": return boolean.class;
case "mtomenabled":
case "mtomEnabled": return boolean.class;
+ case "muteexception":
+ case "muteException": return boolean.class;
case "password": return java.lang.String.class;
case "portname":
case "portName": return java.lang.String.class;
@@ -211,6 +215,8 @@ public class CxfEndpointConfigurer extends PropertyConfigurerSupport implements
case "mergeProtocolHeaders": return target.isMergeProtocolHeaders();
case "mtomenabled":
case "mtomEnabled": return target.isMtomEnabled();
+ case "muteexception":
+ case "muteException": return target.isMuteException();
case "password": return target.getPassword();
case "portname":
case "portName": return target.getPortName();
diff --git a/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUriFactory.java b/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUriFactory.java
index 09e2e6c17840..bf485db336d0 100644
--- a/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUriFactory.java
+++ b/components/camel-cxf/camel-cxf-soap/src/generated/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class CxfEndpointUriFactory extends org.apache.camel.support.component.En
private static final Set<String> ENDPOINT_IDENTITY_PROPERTY_NAMES;
private static final Map<String, String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(38);
+ Set<String> props = new HashSet<>(39);
props.add("address");
props.add("allowStreaming");
props.add("beanId");
@@ -48,6 +48,7 @@ public class CxfEndpointUriFactory extends org.apache.camel.support.component.En
props.add("loggingSizeLimit");
props.add("mergeProtocolHeaders");
props.add("mtomEnabled");
+ props.add("muteException");
props.add("password");
props.add("portName");
props.add("properties");
diff --git a/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json b/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json
index 29661d9deac5..998bbf0b12a1 100644
--- a/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json
+++ b/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json
@@ -46,39 +46,40 @@
"address": { "index": 1, "kind": "path", "displayName": "Address", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service publish address." },
"dataFormat": { "index": 2, "kind": "parameter", "displayName": "Data Format", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "org.apache.camel.component.cxf.common.DataFormat", "enum": [ "PAYLOAD", "RAW", "MESSAGE", "CXF_MESSAGE", "POJO" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "POJO", "description": "The data type messages supported by the CXF endpoint." },
"wrappedStyle": { "index": 3, "kind": "parameter", "displayName": "Wrapped Style", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "The WSDL style that describes how parameters are represented in the SOAP body. If the value is false, CXF will chose the document-literal unwrapped style, If the value is true, CXF will chose the document- [...]
- "bridgeErrorHandler": { "index": 4, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
- "exceptionHandler": { "index": 5, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By def [...]
- "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." },
- "cookieHandler": { "index": 7, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" },
- "defaultOperationName": { "index": 8, "kind": "parameter", "displayName": "Default Operation Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationName that will be used by the CxfProducer which invokes the remote service." },
- "defaultOperationNamespace": { "index": 9, "kind": "parameter", "displayName": "Default Operation Namespace", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service." },
- "hostnameVerifier": { "index": 10, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." },
- "sslContextParameters": { "index": 11, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." },
- "wrapped": { "index": 12, "kind": "parameter", "displayName": "Wrapped", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Which kind of operation that CXF endpoint producer will invoke" },
- "lazyStartProducer": { "index": 13, "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 produ [...]
- "synchronous": { "index": 14, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
- "allowStreaming": { "index": 15, "kind": "parameter", "displayName": "Allow Streaming", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source objec [...]
- "bus": { "index": 16, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." },
- "continuationTimeout": { "index": 17, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." },
- "cxfBinding": { "index": 18, "kind": "parameter", "displayName": "Cxf Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.common.CxfBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." },
- "cxfConfigurer": { "index": 19, "kind": "parameter", "displayName": "Cxf Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxws.CxfConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure [...]
- "defaultBus": { "index": 20, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" },
- "headerFilterStrategy": { "index": 21, "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." },
- "mergeProtocolHeaders": { "index": 22, "kind": "parameter", "displayName": "Merge Protocol Headers", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393." },
- "mtomEnabled": { "index": 23, "kind": "parameter", "displayName": "Mtom Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable MTOM (attachments). This requires to use POJO or PAYLOAD data format mode." },
- "properties": { "index": 24, "kind": "parameter", "displayName": "Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "properties.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To set additional CXF options using the key\/value pairs from the Map. For example to turn on stacktraces in SOAP faults, properties.faultStackTra [...]
- "schemaValidationEnabled": { "index": 25, "kind": "parameter", "displayName": "Schema Validation Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable schema validation for request and response. Disabled by default for performance reason" },
- "skipPayloadMessagePartCheck": { "index": 26, "kind": "parameter", "displayName": "Skip Payload Message Part Check", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether SOAP message validation should be disabled." },
- "loggingFeatureEnabled": { "index": 27, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log." },
- "loggingSizeLimit": { "index": 28, "kind": "parameter", "displayName": "Logging Size Limit", "group": "logging", "label": "logging", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 49152, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit." },
- "skipFaultLogging": { "index": 29, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." },
- "password": { "index": 30, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of password for the CXF client." },
- "username": { "index": 31, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of username for the CXF client." },
- "bindingId": { "index": 32, "kind": "parameter", "displayName": "Binding Id", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The bindingId for the service model to use." },
- "portName": { "index": 33, "kind": "parameter", "displayName": "Port Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint name this service is implementing, it maps to the wsdl:portname. In the format of ns:PORT_NAME where ns is a namespace prefix valid at this scope." },
- "publishedEndpointUrl": { "index": 34, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus wsd" },
- "serviceClass": { "index": 35, "kind": "parameter", "displayName": "Service Class", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.Class<java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "The class name of the SEI (Service Endpoint Interface) class which could have JSR181 annotation or not." },
- "serviceName": { "index": 36, "kind": "parameter", "displayName": "Service Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service name this service is implementing, it maps to the wsdl:servicename." },
- "wsdlURL": { "index": 37, "kind": "parameter", "displayName": "Wsdl URL", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The location of the WSDL. Can be on the classpath, file system, or be hosted remotely." }
+ "muteException": { "index": 4, "kind": "parameter", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If enabled and an Exchange failed processing on the consumer side, and the exception is not a SOAP fault the service contract declares, the SOAP fault returned to the caller won't contain the exception's [...]
+ "bridgeErrorHandler": { "index": 5, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
+ "exceptionHandler": { "index": 6, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By def [...]
+ "exchangePattern": { "index": 7, "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." },
+ "cookieHandler": { "index": 8, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" },
+ "defaultOperationName": { "index": 9, "kind": "parameter", "displayName": "Default Operation Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationName that will be used by the CxfProducer which invokes the remote service." },
+ "defaultOperationNamespace": { "index": 10, "kind": "parameter", "displayName": "Default Operation Namespace", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service." },
+ "hostnameVerifier": { "index": 11, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." },
+ "sslContextParameters": { "index": 12, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." },
+ "wrapped": { "index": 13, "kind": "parameter", "displayName": "Wrapped", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Which kind of operation that CXF endpoint producer will invoke" },
+ "lazyStartProducer": { "index": 14, "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 produ [...]
+ "synchronous": { "index": 15, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
+ "allowStreaming": { "index": 16, "kind": "parameter", "displayName": "Allow Streaming", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source objec [...]
+ "bus": { "index": 17, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." },
+ "continuationTimeout": { "index": 18, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." },
+ "cxfBinding": { "index": 19, "kind": "parameter", "displayName": "Cxf Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.common.CxfBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." },
+ "cxfConfigurer": { "index": 20, "kind": "parameter", "displayName": "Cxf Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxws.CxfConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure [...]
+ "defaultBus": { "index": 21, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" },
+ "headerFilterStrategy": { "index": 22, "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." },
+ "mergeProtocolHeaders": { "index": 23, "kind": "parameter", "displayName": "Merge Protocol Headers", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393." },
+ "mtomEnabled": { "index": 24, "kind": "parameter", "displayName": "Mtom Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable MTOM (attachments). This requires to use POJO or PAYLOAD data format mode." },
+ "properties": { "index": 25, "kind": "parameter", "displayName": "Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "properties.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To set additional CXF options using the key\/value pairs from the Map. For example to turn on stacktraces in SOAP faults, properties.faultStackTra [...]
+ "schemaValidationEnabled": { "index": 26, "kind": "parameter", "displayName": "Schema Validation Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable schema validation for request and response. Disabled by default for performance reason" },
+ "skipPayloadMessagePartCheck": { "index": 27, "kind": "parameter", "displayName": "Skip Payload Message Part Check", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether SOAP message validation should be disabled." },
+ "loggingFeatureEnabled": { "index": 28, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log." },
+ "loggingSizeLimit": { "index": 29, "kind": "parameter", "displayName": "Logging Size Limit", "group": "logging", "label": "logging", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 49152, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit." },
+ "skipFaultLogging": { "index": 30, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." },
+ "password": { "index": 31, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of password for the CXF client." },
+ "username": { "index": 32, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "description": "This option is used to set the basic authentication information of username for the CXF client." },
+ "bindingId": { "index": 33, "kind": "parameter", "displayName": "Binding Id", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The bindingId for the service model to use." },
+ "portName": { "index": 34, "kind": "parameter", "displayName": "Port Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint name this service is implementing, it maps to the wsdl:portname. In the format of ns:PORT_NAME where ns is a namespace prefix valid at this scope." },
+ "publishedEndpointUrl": { "index": 35, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus wsd" },
+ "serviceClass": { "index": 36, "kind": "parameter", "displayName": "Service Class", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.Class<java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "The class name of the SEI (Service Endpoint Interface) class which could have JSR181 annotation or not." },
+ "serviceName": { "index": 37, "kind": "parameter", "displayName": "Service Name", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service name this service is implementing, it maps to the wsdl:servicename." },
+ "wsdlURL": { "index": 38, "kind": "parameter", "displayName": "Wsdl URL", "group": "service", "label": "service", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The location of the WSDL. Can be on the classpath, file system, or be hosted remotely." }
}
}
diff --git a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfConsumer.java b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfConsumer.java
index 16b63a98c308..b636b78b3726 100644
--- a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfConsumer.java
+++ b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfConsumer.java
@@ -153,6 +153,7 @@ public class CxfConsumer extends DefaultConsumer implements Suspendable {
private class CxfConsumerInvoker implements Invoker {
private static final String COMPLETED = "org.apache.camel.component.cxf.jaxws.completed";
+ private static final String MUTED_FAULT_MESSAGE = "Exchange processing failed";
private final CxfEndpoint endpoint;
@@ -359,12 +360,17 @@ public class CxfConsumer extends DefaultConsumer implements Suspendable {
}
private void checkFailure(org.apache.camel.Exchange camelExchange, Exchange cxfExchange) throws Fault {
- final Throwable t = extractThrowable(camelExchange);
+ // an exception set on the exchange is a route failure; one carried in the body is a fault the route
+ // chose to return, and stays part of the contract either way
+ final Throwable routeFailure = camelExchange.getException();
+ final Throwable t = routeFailure != null ? routeFailure : extractFromBody(camelExchange, null);
if (t != null) {
cxfExchange.getInMessage().put(FaultMode.class, FaultMode.UNCHECKED_APPLICATION_FAULT);
if (t instanceof Fault fault) {
handleFault(cxfExchange, fault);
+ } else if (routeFailure != null && isMuted(t)) {
+ buildFaultFromThrowable(mutedThrowable());
} else {
// This is not a CXF Fault. Build the CXF Fault manually.
buildFaultFromThrowable(t);
@@ -373,6 +379,26 @@ public class CxfConsumer extends DefaultConsumer implements Suspendable {
}
}
+ /**
+ * Only an <em>undeclared</em> route failure is muted. An exception the service contract declares - annotated
+ * {@code @WebFault} - is what a SOAP client is written against, so suppressing it would break the contract
+ * rather than protect anything.
+ */
+ private boolean isMuted(Throwable t) {
+ return ((CxfEndpoint) getEndpoint()).isMuteException()
+ && t.getClass().getAnnotation(WebFault.class) == null;
+ }
+
+ /**
+ * Carries no class name, no message and no stack trace of the route's exception: CXF copies the message into
+ * the SOAP faultstring, and can be configured to put the stack trace in the fault detail.
+ */
+ private static Throwable mutedThrowable() {
+ Exception muted = new Exception(MUTED_FAULT_MESSAGE);
+ muted.setStackTrace(new StackTraceElement[0]);
+ return muted;
+ }
+
private static void buildFaultFromThrowable(Throwable t) {
Fault fault = new Fault(t);
if (fault.getMessage() == null) {
@@ -410,15 +436,9 @@ public class CxfConsumer extends DefaultConsumer implements Suspendable {
throw t;
}
- private static Throwable extractThrowable(org.apache.camel.Exchange camelExchange) {
- Throwable t = camelExchange.getException();
- if (t == null) {
- // SOAP faults can be stored as exceptions as message body (to be backwards compatible)
- t = extractFromBody(camelExchange, t);
- }
- return t;
- }
-
+ /**
+ * SOAP faults can be stored as exceptions as message body (to be backwards compatible).
+ */
private static Throwable extractFromBody(org.apache.camel.Exchange camelExchange, Throwable t) {
Object body = camelExchange.getMessage().getBody();
if (body instanceof Throwable throwable) {
diff --git a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
index 3c68352c8dd7..3deb088a40d4 100644
--- a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
+++ b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
@@ -203,6 +203,8 @@ public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade
private boolean skipPayloadMessagePartCheck;
@UriParam(label = "logging")
private boolean skipFaultLogging;
+ @UriParam(label = "consumer", defaultValue = "true")
+ private boolean muteException = true;
@UriParam(label = "advanced")
private boolean mergeProtocolHeaders;
@UriParam(label = "advanced")
@@ -1458,6 +1460,20 @@ public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade
this.skipFaultLogging = skipFaultLogging;
}
+ public boolean isMuteException() {
+ return muteException;
+ }
+
+ /**
+ * If enabled and an Exchange failed processing on the consumer side, and the exception is not a SOAP fault the
+ * service contract declares, the SOAP fault returned to the caller won't contain the exception's class or message.
+ * Faults the route raises deliberately - a CXF {@code Fault}, an exception annotated {@code @WebFault}, or a
+ * {@code Throwable} set as the message body - are part of the contract and are always returned in full.
+ */
+ public void setMuteException(boolean muteException) {
+ this.muteException = muteException;
+ }
+
public boolean isMergeProtocolHeaders() {
return mergeProtocolHeaders;
}
diff --git a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
index da7c70a50440..8c505d3a9175 100644
--- a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
+++ b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
@@ -62,42 +62,45 @@ public class CxfConsumerContinuationTimeoutTest extends CamelTestSupport {
.setBody(constant("Sensitive Data"))
.to(simpleEndpointURI + "&continuationTimeout=5000&dataFormat=RAW");
- from(simpleEndpointURI + "&continuationTimeout=5000&dataFormat=RAW").process(new AsyncProcessorSupport() {
- @Override
- public boolean process(Exchange exchange, AsyncCallback asyncCallback) {
- Message in = exchange.getIn();
- // check the content-length header is filtered
- Object value = in.getHeader("Content-Length");
- assertNull(value, "The Content-Length header should be removed");
- // Get the request message
- String request = in.getBody(String.class);
- String priority = in.getHeader("priority", "fast", String.class);
-
- // need not to block this thread to simulate slow response so use a thread pool to wait
- if ("slow".equalsIgnoreCase(priority)) {
- pool.submit(() -> {
- try {
- log.info("Sleeping for 10 seconds to simulate slow response");
- Thread.sleep(10000);
- } catch (InterruptedException e) {
- // ignore
- } finally {
- asyncCallback.done(false);
+ // muteException=false: these tests assert the continuation-timeout message reaches the caller,
+ // which CAMEL-24477 otherwise replaces with a generic fault
+ from(simpleEndpointURI + "&continuationTimeout=5000&dataFormat=RAW&muteException=false")
+ .process(new AsyncProcessorSupport() {
+ @Override
+ public boolean process(Exchange exchange, AsyncCallback asyncCallback) {
+ Message in = exchange.getIn();
+ // check the content-length header is filtered
+ Object value = in.getHeader("Content-Length");
+ assertNull(value, "The Content-Length header should be removed");
+ // Get the request message
+ String request = in.getBody(String.class);
+ String priority = in.getHeader("priority", "fast", String.class);
+
+ // need not to block this thread to simulate slow response so use a thread pool to wait
+ if ("slow".equalsIgnoreCase(priority)) {
+ pool.submit(() -> {
+ try {
+ log.info("Sleeping for 10 seconds to simulate slow response");
+ Thread.sleep(10000);
+ } catch (InterruptedException e) {
+ // ignore
+ } finally {
+ asyncCallback.done(false);
+ }
+ });
+ return false;
+ } else {
+ // Send the response message back
+ if (request.indexOf(ECHO_METHOD) > 0) {
+ exchange.getMessage().setBody(ECHO_RESPONSE);
+ } else { // echoBoolean call
+ exchange.getMessage().setBody(ECHO_BOOLEAN_RESPONSE);
+ }
}
- });
- return false;
- } else {
- // Send the response message back
- if (request.indexOf(ECHO_METHOD) > 0) {
- exchange.getMessage().setBody(ECHO_RESPONSE);
- } else { // echoBoolean call
- exchange.getMessage().setBody(ECHO_BOOLEAN_RESPONSE);
+ asyncCallback.done(true);
+ return true;
}
- }
- asyncCallback.done(true);
- return true;
- }
- });
+ });
}
};
}
diff --git a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
new file mode 100644
index 000000000000..d9c964b3d870
--- /dev/null
+++ b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
@@ -0,0 +1,111 @@
+/*
+ * 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.component.cxf.jaxws;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.junit6.CamelTestSupport;
+import org.apache.cxf.frontend.ClientFactoryBean;
+import org.apache.cxf.greeter_control.Greeter;
+import org.apache.cxf.greeter_control.PingMeFault;
+import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+/**
+ * The consumer used to put the route exception's message into the SOAP fault returned to the caller, so any
+ * remote-triggerable failure handed the caller internal detail.
+ * <p>
+ * {@code muteException} defaults to true, matching the http consumers aligned by CAMEL-23651. It applies only to
+ * <em>undeclared</em> failures: an exception the service contract declares with {@code @WebFault} is what a SOAP client
+ * is written against, so it is still returned in full.
+ */
+class CxfConsumerMuteExceptionTest extends CamelTestSupport {
+
+ private static final String DETAIL = "the-internal-detail-a-caller-must-not-see";
+
+ private static final String MUTED_ADDRESS
+ = "http://localhost:" + CXFTestSupport.getPort1() + "/CxfConsumerMuteExceptionTest/muted";
+ private static final String UNMUTED_ADDRESS
+ = "http://localhost:" + CXFTestSupport.getPort2() + "/CxfConsumerMuteExceptionTest/unmuted";
+ private static final String DECLARED_ADDRESS
+ = "http://localhost:" + CXFTestSupport.getPort3() + "/CxfConsumerMuteExceptionTest/declared";
+
+ private static final String SERVICE_CLASS = "serviceClass=org.apache.cxf.greeter_control.Greeter";
+
+ @Test
+ void anUndeclaredFailureIsNotDescribedToTheCaller() {
+ assertThatThrownBy(() -> client(MUTED_ADDRESS).pingMe())
+ .as("the SOAP fault must carry neither the class nor the message of the route's exception")
+ .hasMessageNotContaining(DETAIL)
+ .hasMessageNotContaining("IllegalStateException");
+ }
+
+ @Test
+ void muteExceptionFalseDescribesTheFailureAsBefore() {
+ assertThatThrownBy(() -> client(UNMUTED_ADDRESS).pingMe())
+ .hasMessageContaining(DETAIL);
+ }
+
+ /**
+ * The guarantee that makes muting safe to default on: a fault the WSDL declares is part of the contract, so muting
+ * must not touch it. Without this carve-out every SOAP client written against a declared fault would break.
+ */
+ @Test
+ void aDeclaredWebFaultIsStillReturnedInFullWhileMuted() {
+ assertThatThrownBy(() -> client(DECLARED_ADDRESS).pingMe())
+ .isInstanceOf(PingMeFault.class)
+ .hasMessageContaining(DETAIL);
+ }
+
+ @Test
+ void muteExceptionDefaultsToTrue() {
+ CxfEndpoint endpoint = context.getEndpoint("cxf://" + MUTED_ADDRESS + "?" + SERVICE_CLASS, CxfEndpoint.class);
+ assertThat(endpoint.isMuteException()).isTrue();
+ }
+
+ private static Greeter client(String address) {
+ JaxWsProxyFactoryBean proxyFactory = new JaxWsProxyFactoryBean();
+ ClientFactoryBean clientBean = proxyFactory.getClientFactoryBean();
+ clientBean.setAddress(address);
+ clientBean.setServiceClass(Greeter.class);
+ return (Greeter) proxyFactory.create();
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ @Override
+ public void configure() {
+ from("cxf://" + MUTED_ADDRESS + "?" + SERVICE_CLASS)
+ .process(e -> {
+ throw new IllegalStateException(DETAIL);
+ });
+ from("cxf://" + UNMUTED_ADDRESS + "?" + SERVICE_CLASS + "&muteException=false")
+ .process(e -> {
+ throw new IllegalStateException(DETAIL);
+ });
+ from("cxf://" + DECLARED_ADDRESS + "?" + SERVICE_CLASS)
+ .process(e -> {
+ throw new PingMeFault(DETAIL);
+ });
+ }
+ };
+ }
+}
diff --git a/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointConfigurer.java b/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointConfigurer.java
index 8341a2a1812c..637bddc7970b 100644
--- a/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointConfigurer.java
+++ b/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointConfigurer.java
@@ -84,6 +84,8 @@ public class GrpcEndpointConfigurer extends PropertyConfigurerSupport implements
case "maxrstperiodseconds":
case "maxRstPeriodSeconds": target.getConfiguration().setMaxRstPeriodSeconds(property(camelContext, int.class, value)); return true;
case "method": target.getConfiguration().setMethod(property(camelContext, java.lang.String.class, value)); return true;
+ case "muteexception":
+ case "muteException": target.getConfiguration().setMuteException(property(camelContext, boolean.class, value)); return true;
case "negotiationtype":
case "negotiationType": target.getConfiguration().setNegotiationType(property(camelContext, io.grpc.netty.NegotiationType.class, value)); return true;
case "permitkeepalivetime":
@@ -173,6 +175,8 @@ public class GrpcEndpointConfigurer extends PropertyConfigurerSupport implements
case "maxrstperiodseconds":
case "maxRstPeriodSeconds": return int.class;
case "method": return java.lang.String.class;
+ case "muteexception":
+ case "muteException": return boolean.class;
case "negotiationtype":
case "negotiationType": return io.grpc.netty.NegotiationType.class;
case "permitkeepalivetime":
@@ -263,6 +267,8 @@ public class GrpcEndpointConfigurer extends PropertyConfigurerSupport implements
case "maxrstperiodseconds":
case "maxRstPeriodSeconds": return target.getConfiguration().getMaxRstPeriodSeconds();
case "method": return target.getConfiguration().getMethod();
+ case "muteexception":
+ case "muteException": return target.getConfiguration().isMuteException();
case "negotiationtype":
case "negotiationType": return target.getConfiguration().getNegotiationType();
case "permitkeepalivetime":
diff --git a/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointUriFactory.java b/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointUriFactory.java
index 7d586f7e94d8..6d2a8718e05f 100644
--- a/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointUriFactory.java
+++ b/components/camel-grpc/src/generated/java/org/apache/camel/component/grpc/GrpcEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class GrpcEndpointUriFactory extends org.apache.camel.support.component.E
private static final Set<String> ENDPOINT_IDENTITY_PROPERTY_NAMES;
private static final Map<String, String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(45);
+ Set<String> props = new HashSet<>(46);
props.add("authenticationType");
props.add("autoDiscoverClientInterceptors");
props.add("autoDiscoverServerInterceptors");
@@ -57,6 +57,7 @@ public class GrpcEndpointUriFactory extends org.apache.camel.support.component.E
props.add("maxRstFramesPerWindow");
props.add("maxRstPeriodSeconds");
props.add("method");
+ props.add("muteException");
props.add("negotiationType");
props.add("permitKeepAliveTime");
props.add("permitKeepAliveWithoutCalls");
diff --git a/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json b/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json
index 3f9b8465f14f..90098ad9e95d 100644
--- a/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json
+++ b/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json
@@ -54,31 +54,32 @@
"maxInboundMetadataSize": { "index": 16, "kind": "parameter", "displayName": "Max Inbound Metadata Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets the maximum size of metadata allowed to be received. The default is [...]
"maxRstFramesPerWindow": { "index": 17, "kind": "parameter", "displayName": "Max Rst Frames Per Window", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Limits the rate of incoming RST_STREAM frames per connection to maxRstFramesP [...]
"maxRstPeriodSeconds": { "index": 18, "kind": "parameter", "displayName": "Max Rst Period Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Limits the rate of incoming RST_STREAM frames per maxRstPeriodSeconds. This option [...]
- "permitKeepAliveTime": { "index": 19, "kind": "parameter", "displayName": "Permit Keep Alive Time", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 300000, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets the most aggressive keep-alive time in milliseconds that clients are pe [...]
- "permitKeepAliveWithoutCalls": { "index": 20, "kind": "parameter", "displayName": "Permit Keep Alive Without Calls", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether to allow clients to send keep-alive HTTP\/ 2 [...]
- "routeControlledStreamObserver": { "index": 21, "kind": "parameter", "displayName": "Route Controlled Stream Observer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Lets the route to take control over stream observer. I [...]
- "bridgeErrorHandler": { "index": 22, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
- "exceptionHandler": { "index": 23, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
- "exchangePattern": { "index": 24, "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." },
- "autoDiscoverClientInterceptors": { "index": 25, "kind": "parameter", "displayName": "Auto Discover Client Interceptors", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClientInterceptors mechanism, [...]
- "inheritExchangePropertiesForReplies": { "index": 26, "kind": "parameter", "displayName": "Inherit Exchange Properties For Replies", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Copies exchange properties from original [...]
- "method": { "index": 27, "kind": "parameter", "displayName": "Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "gRPC method name" },
- "producerStrategy": { "index": 28, "kind": "parameter", "displayName": "Producer Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcProducerStrategy", "enum": [ "SIMPLE", "STREAMING" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SIMPLE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Th [...]
- "streamRepliesTo": { "index": 29, "kind": "parameter", "displayName": "Stream Replies To", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "When using STREAMING client mode, it indicates the endpoint where responses should be forwarded." },
- "toRouteControlledStreamObserver": { "index": 30, "kind": "parameter", "displayName": "To Route Controlled Stream Observer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Expects that exchange property GrpcConstants.GRPC [...]
- "userAgent": { "index": 31, "kind": "parameter", "displayName": "User Agent", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The user agent header passed to the server" },
- "lazyStartProducer": { "index": 32, "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 produ [...]
- "synchronous": { "index": 33, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" },
- "authenticationType": { "index": 34, "kind": "parameter", "displayName": "Authentication Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcAuthType", "enum": [ "NONE", "GOOGLE", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Authen [...]
- "jwtAlgorithm": { "index": 35, "kind": "parameter", "displayName": "Jwt Algorithm", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.auth.jwt.JwtAlgorithm", "enum": [ "HMAC256", "HMAC384", "HMAC512", "RSA256", "RSA384", "RSA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HMAC256", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": " [...]
- "jwtIssuer": { "index": 36, "kind": "parameter", "displayName": "Jwt Issuer", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token issuer" },
- "jwtSecret": { "index": 37, "kind": "parameter", "displayName": "Jwt Secret", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token secret" },
- "jwtSubject": { "index": 38, "kind": "parameter", "displayName": "Jwt Subject", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token subject" },
- "keyCertChainResource": { "index": 39, "kind": "parameter", "displayName": "Key Cert Chain Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The X.509 certificate chain file r [...]
- "keyPassword": { "index": 40, "kind": "parameter", "displayName": "Key Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file password" },
- "keyResource": { "index": 41, "kind": "parameter", "displayName": "Key Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file resource in PEM format link" },
- "negotiationType": { "index": 42, "kind": "parameter", "displayName": "Negotiation Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "io.grpc.netty.NegotiationType", "enum": [ "PLAINTEXT", "TLS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Identifies the security neg [...]
- "serviceAccountResource": { "index": 43, "kind": "parameter", "displayName": "Service Account Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Service Account key file in JSO [...]
- "trustCertCollectionResource": { "index": 44, "kind": "parameter", "displayName": "Trust Cert Collection Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The trusted certific [...]
+ "muteException": { "index": 19, "kind": "parameter", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "If enabled and an Exchange failed processing on the consumer side the status description [...]
+ "permitKeepAliveTime": { "index": 20, "kind": "parameter", "displayName": "Permit Keep Alive Time", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 300000, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets the most aggressive keep-alive time in milliseconds that clients are pe [...]
+ "permitKeepAliveWithoutCalls": { "index": 21, "kind": "parameter", "displayName": "Permit Keep Alive Without Calls", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether to allow clients to send keep-alive HTTP\/ 2 [...]
+ "routeControlledStreamObserver": { "index": 22, "kind": "parameter", "displayName": "Route Controlled Stream Observer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Lets the route to take control over stream observer. I [...]
+ "bridgeErrorHandler": { "index": 23, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
+ "exceptionHandler": { "index": 24, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 25, "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." },
+ "autoDiscoverClientInterceptors": { "index": 26, "kind": "parameter", "displayName": "Auto Discover Client Interceptors", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClientInterceptors mechanism, [...]
+ "inheritExchangePropertiesForReplies": { "index": 27, "kind": "parameter", "displayName": "Inherit Exchange Properties For Replies", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Copies exchange properties from original [...]
+ "method": { "index": 28, "kind": "parameter", "displayName": "Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "gRPC method name" },
+ "producerStrategy": { "index": 29, "kind": "parameter", "displayName": "Producer Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcProducerStrategy", "enum": [ "SIMPLE", "STREAMING" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SIMPLE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Th [...]
+ "streamRepliesTo": { "index": 30, "kind": "parameter", "displayName": "Stream Replies To", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "When using STREAMING client mode, it indicates the endpoint where responses should be forwarded." },
+ "toRouteControlledStreamObserver": { "index": 31, "kind": "parameter", "displayName": "To Route Controlled Stream Observer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Expects that exchange property GrpcConstants.GRPC [...]
+ "userAgent": { "index": 32, "kind": "parameter", "displayName": "User Agent", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The user agent header passed to the server" },
+ "lazyStartProducer": { "index": 33, "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 produ [...]
+ "synchronous": { "index": 34, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" },
+ "authenticationType": { "index": 35, "kind": "parameter", "displayName": "Authentication Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.GrpcAuthType", "enum": [ "NONE", "GOOGLE", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Authen [...]
+ "jwtAlgorithm": { "index": 36, "kind": "parameter", "displayName": "Jwt Algorithm", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.apache.camel.component.grpc.auth.jwt.JwtAlgorithm", "enum": [ "HMAC256", "HMAC384", "HMAC512", "RSA256", "RSA384", "RSA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HMAC256", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": " [...]
+ "jwtIssuer": { "index": 37, "kind": "parameter", "displayName": "Jwt Issuer", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token issuer" },
+ "jwtSecret": { "index": 38, "kind": "parameter", "displayName": "Jwt Secret", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token secret" },
+ "jwtSubject": { "index": 39, "kind": "parameter", "displayName": "Jwt Subject", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token subject" },
+ "keyCertChainResource": { "index": 40, "kind": "parameter", "displayName": "Key Cert Chain Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The X.509 certificate chain file r [...]
+ "keyPassword": { "index": 41, "kind": "parameter", "displayName": "Key Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file password" },
+ "keyResource": { "index": 42, "kind": "parameter", "displayName": "Key Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file resource in PEM format link" },
+ "negotiationType": { "index": 43, "kind": "parameter", "displayName": "Negotiation Type", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "io.grpc.netty.NegotiationType", "enum": [ "PLAINTEXT", "TLS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Identifies the security neg [...]
+ "serviceAccountResource": { "index": 44, "kind": "parameter", "displayName": "Service Account Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Service Account key file in JSO [...]
+ "trustCertCollectionResource": { "index": 45, "kind": "parameter", "displayName": "Trust Cert Collection Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The trusted certific [...]
}
}
diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java
index 9a39fdaf25de..1484c6ba5b1a 100644
--- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java
+++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java
@@ -118,6 +118,9 @@ public class GrpcConfiguration {
@UriParam(label = "consumer", defaultValue = "false")
private boolean routeControlledStreamObserver;
+ @UriParam(label = "consumer", defaultValue = "true")
+ private boolean muteException = true;
+
private List<ServerInterceptor> serverInterceptors = Collections.emptyList();
@UriParam(label = "consumer", defaultValue = "true")
@@ -449,6 +452,18 @@ public class GrpcConfiguration {
this.routeControlledStreamObserver = routeControlledStreamObserver;
}
+ public boolean isMuteException() {
+ return muteException;
+ }
+
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the status description returned to the client
+ * won't contain the exception's message.
+ */
+ public void setMuteException(boolean muteException) {
+ this.muteException = muteException;
+ }
+
public int getMaxConcurrentCallsPerConnection() {
return maxConcurrentCallsPerConnection;
}
diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcMethodHandler.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcMethodHandler.java
index f0ee042534c9..6b0ddb052f9b 100644
--- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcMethodHandler.java
+++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcMethodHandler.java
@@ -33,6 +33,8 @@ import org.apache.camel.component.grpc.GrpcEndpoint;
*/
public class GrpcMethodHandler {
+ private static final String MUTED_DESCRIPTION = "Exchange processing failed";
+
protected final GrpcConsumer consumer;
public GrpcMethodHandler(GrpcConsumer consumer) {
@@ -64,8 +66,12 @@ public class GrpcMethodHandler {
invokeRoute(endpoint, exchange);
if (exchange.isFailed()) {
+ // the description IS transmitted to the client, so it carries the route's exception message only when
+ // the endpoint opted out of muting; the cause below stays local either way
+ String description = endpoint.getConfiguration().isMuteException()
+ ? MUTED_DESCRIPTION : exchange.getException().getMessage();
responseObserver.onError(Status.INTERNAL
- .withDescription(exchange.getException().getMessage())
+ .withDescription(description)
// This can be attached to the Status locally, but NOT transmitted to the client!
.withCause(exchange.getException())
.asRuntimeException());
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java
index bbe356d3a923..4028a670c245 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java
@@ -33,6 +33,7 @@ import org.slf4j.LoggerFactory;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -42,17 +43,24 @@ public class GrpcConsumerExceptionTest extends GrpcTestSupport {
private static final int GRPC_TEST_PING_ID = 1;
private static final String GRPC_TEST_PING_VALUE = "PING";
+ private static final String ROUTE_EXCEPTION_MESSAGE = "GRPC Camel exception message";
private ManagedChannel syncRequestChannel;
+ private ManagedChannel unmutedChannel;
+ private PingPongGrpc.PingPongBlockingStub unmutedStub;
private PingPongGrpc.PingPongBlockingStub blockingStub;
- private PingPongGrpc.PingPongStub nonBlockingStub;
+ private PingPongGrpc.PingPongStub unmutedNonBlockingStub;
@BeforeEach
public void startGrpcChannels() {
int port = getRoutePort("grpc-exception");
syncRequestChannel = ManagedChannelBuilder.forAddress("localhost", port).usePlaintext().build();
blockingStub = PingPongGrpc.newBlockingStub(syncRequestChannel);
- nonBlockingStub = PingPongGrpc.newStub(syncRequestChannel);
+
+ int unmutedPort = getRoutePort("grpc-exception-unmuted");
+ unmutedChannel = ManagedChannelBuilder.forAddress("localhost", unmutedPort).usePlaintext().build();
+ unmutedStub = PingPongGrpc.newBlockingStub(unmutedChannel);
+ unmutedNonBlockingStub = PingPongGrpc.newStub(unmutedChannel);
}
@AfterEach
@@ -60,6 +68,37 @@ public class GrpcConsumerExceptionTest extends GrpcTestSupport {
if (syncRequestChannel != null) {
syncRequestChannel.shutdown().shutdownNow();
}
+ if (unmutedChannel != null) {
+ unmutedChannel.shutdown().shutdownNow();
+ }
+ }
+
+ /**
+ * The Status description is transmitted to the client - unlike the cause, which stays local - so by default it must
+ * not carry the route exception's message.
+ */
+ @Test
+ public void theStatusDescriptionDoesNotCarryTheRouteExceptionByDefault() {
+ PingRequest pingRequest
+ = PingRequest.newBuilder().setPingName(GRPC_TEST_PING_VALUE).setPingId(GRPC_TEST_PING_ID).build();
+
+ StatusRuntimeException e
+ = assertThrows(StatusRuntimeException.class, () -> blockingStub.pingSyncSync(pingRequest));
+
+ assertFalse(e.getStatus().getDescription().contains(ROUTE_EXCEPTION_MESSAGE),
+ "the status description must not carry the route exception's message: " + e.getStatus());
+ }
+
+ @Test
+ public void muteExceptionFalseCarriesTheRouteExceptionAsBefore() {
+ PingRequest pingRequest
+ = PingRequest.newBuilder().setPingName(GRPC_TEST_PING_VALUE).setPingId(GRPC_TEST_PING_ID).build();
+
+ StatusRuntimeException e
+ = assertThrows(StatusRuntimeException.class, () -> unmutedStub.pingSyncSync(pingRequest));
+
+ assertTrue(e.getStatus().getDescription().contains(ROUTE_EXCEPTION_MESSAGE),
+ "expected the route exception message with muteException=false: " + e.getStatus());
}
@Test
@@ -82,7 +121,7 @@ public class GrpcConsumerExceptionTest extends GrpcTestSupport {
= PingRequest.newBuilder().setPingName(GRPC_TEST_PING_VALUE).setPingId(GRPC_TEST_PING_ID).build();
PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
- nonBlockingStub.pingSyncSync(pingRequest, responseObserver);
+ unmutedNonBlockingStub.pingSyncSync(pingRequest, responseObserver);
assertTrue(latch.await(5, TimeUnit.SECONDS));
}
@@ -93,8 +132,11 @@ public class GrpcConsumerExceptionTest extends GrpcTestSupport {
public void configure() {
from("grpc://localhost:0/org.apache.camel.component.grpc.PingPong?synchronous=true")
.routeId("grpc-exception")
- .throwException(CamelException.class, "GRPC Camel exception message");
+ .throwException(CamelException.class, ROUTE_EXCEPTION_MESSAGE);
+ from("grpc://localhost:0/org.apache.camel.component.grpc.PingPong?synchronous=true&muteException=false")
+ .routeId("grpc-exception-unmuted")
+ .throwException(CamelException.class, ROUTE_EXCEPTION_MESSAGE);
}
};
}
diff --git a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
index 1b697bec50e4..3139756c570b 100644
--- a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
+++ b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
@@ -59,6 +59,8 @@ public class MinaComponentConfigurer extends PropertyConfigurerSupport implement
case "maximumPoolSize": getOrCreateConfiguration(target).setMaximumPoolSize(property(camelContext, int.class, value)); return true;
case "minalogger":
case "minaLogger": getOrCreateConfiguration(target).setMinaLogger(property(camelContext, boolean.class, value)); return true;
+ case "muteexception":
+ case "muteException": getOrCreateConfiguration(target).setMuteException(property(camelContext, boolean.class, value)); return true;
case "noreplyloglevel":
case "noReplyLogLevel": getOrCreateConfiguration(target).setNoReplyLogLevel(property(camelContext, org.apache.camel.LoggingLevel.class, value)); return true;
case "objectcodecpattern":
@@ -114,6 +116,8 @@ public class MinaComponentConfigurer extends PropertyConfigurerSupport implement
case "maximumPoolSize": return int.class;
case "minalogger":
case "minaLogger": return boolean.class;
+ case "muteexception":
+ case "muteException": return boolean.class;
case "noreplyloglevel":
case "noReplyLogLevel": return org.apache.camel.LoggingLevel.class;
case "objectcodecpattern":
@@ -170,6 +174,8 @@ public class MinaComponentConfigurer extends PropertyConfigurerSupport implement
case "maximumPoolSize": return getOrCreateConfiguration(target).getMaximumPoolSize();
case "minalogger":
case "minaLogger": return getOrCreateConfiguration(target).isMinaLogger();
+ case "muteexception":
+ case "muteException": return getOrCreateConfiguration(target).isMuteException();
case "noreplyloglevel":
case "noReplyLogLevel": return getOrCreateConfiguration(target).getNoReplyLogLevel();
case "objectcodecpattern":
diff --git a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
index 70c6c2d93c2c..291ed3295a55 100644
--- a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
+++ b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
@@ -53,6 +53,8 @@ public class MinaEndpointConfigurer extends PropertyConfigurerSupport implements
case "maximumPoolSize": target.getConfiguration().setMaximumPoolSize(property(camelContext, int.class, value)); return true;
case "minalogger":
case "minaLogger": target.getConfiguration().setMinaLogger(property(camelContext, boolean.class, value)); return true;
+ case "muteexception":
+ case "muteException": target.getConfiguration().setMuteException(property(camelContext, boolean.class, value)); return true;
case "noreplyloglevel":
case "noReplyLogLevel": target.getConfiguration().setNoReplyLogLevel(property(camelContext, org.apache.camel.LoggingLevel.class, value)); return true;
case "objectcodecpattern":
@@ -107,6 +109,8 @@ public class MinaEndpointConfigurer extends PropertyConfigurerSupport implements
case "maximumPoolSize": return int.class;
case "minalogger":
case "minaLogger": return boolean.class;
+ case "muteexception":
+ case "muteException": return boolean.class;
case "noreplyloglevel":
case "noReplyLogLevel": return org.apache.camel.LoggingLevel.class;
case "objectcodecpattern":
@@ -162,6 +166,8 @@ public class MinaEndpointConfigurer extends PropertyConfigurerSupport implements
case "maximumPoolSize": return target.getConfiguration().getMaximumPoolSize();
case "minalogger":
case "minaLogger": return target.getConfiguration().isMinaLogger();
+ case "muteexception":
+ case "muteException": return target.getConfiguration().isMuteException();
case "noreplyloglevel":
case "noReplyLogLevel": return target.getConfiguration().getNoReplyLogLevel();
case "objectcodecpattern":
diff --git a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
index 95a7208d870c..9fee0c2ace69 100644
--- a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
+++ b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class MinaEndpointUriFactory extends org.apache.camel.support.component.E
private static final Set<String> ENDPOINT_IDENTITY_PROPERTY_NAMES;
private static final Map<String, String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(30);
+ Set<String> props = new HashSet<>(31);
props.add("allowDefaultCodec");
props.add("bridgeErrorHandler");
props.add("cachedAddress");
@@ -43,6 +43,7 @@ public class MinaEndpointUriFactory extends org.apache.camel.support.component.E
props.add("lazyStartProducer");
props.add("maximumPoolSize");
props.add("minaLogger");
+ props.add("muteException");
props.add("noReplyLogLevel");
props.add("objectCodecPattern");
props.add("orderedThreadPoolExecutor");
diff --git a/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/component/mina/mina.json b/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/component/mina/mina.json
index 865971a979e8..2b24ab28c2e7 100644
--- a/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/component/mina/mina.json
+++ b/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/component/mina/mina.json
@@ -31,27 +31,28 @@
"writeTimeout": { "index": 4, "kind": "property", "displayName": "Write Timeout", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds." },
"bridgeErrorHandler": { "index": 5, "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 [...]
"clientMode": { "index": 6, "kind": "property", "displayName": "Client Mode", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If the clientMode is true, mina consumer will connect the address as a TCP client." },
- "noReplyLogLevel": { "index": 7, "kind": "property", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration" [...]
- "lazyStartProducer": { "index": 8, "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 [...]
- "cachedAddress": { "index": 9, "kind": "property", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to false [...]
- "lazySessionCreation": { "index": 10, "kind": "property", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if th [...]
- "autowiredEnabled": { "index": 11, "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 [...]
- "configuration": { "index": 12, "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.mina.MinaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use the shared mina configuration." },
- "disconnectOnNoReply": { "index": 13, "kind": "property", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disco [...]
- "maximumPoolSize": { "index": 14, "kind": "property", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
- "orderedThreadPoolExecutor": { "index": 15, "kind": "property", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are process [...]
- "transferExchange": { "index": 16, "kind": "property", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the exchan [...]
- "allowDefaultCodec": { "index": 17, "kind": "property", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fals [...]
- "codec": { "index": 18, "kind": "property", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
- "decoderMaxLineLength": { "index": 19, "kind": "property", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value o [...]
- "encoderMaxLineLength": { "index": 20, "kind": "property", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
- "encoding": { "index": 21, "kind": "property", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
- "filters": { "index": 22, "kind": "property", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
- "objectCodecPattern": { "index": 23, "kind": "property", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise rejecte [...]
- "textline": { "index": 24, "kind": "property", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if [...]
- "textlineDelimiter": { "index": 25, "kind": "property", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
- "sslContextParameters": { "index": 26, "kind": "property", "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." },
- "useGlobalSslContextParameters": { "index": 27, "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters." }
+ "muteException": { "index": 7, "kind": "property", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If enabled and an Exchange failed processing on the consumer side the response written back [...]
+ "noReplyLogLevel": { "index": 8, "kind": "property", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration" [...]
+ "lazyStartProducer": { "index": 9, "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 [...]
+ "cachedAddress": { "index": 10, "kind": "property", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to fals [...]
+ "lazySessionCreation": { "index": 11, "kind": "property", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if th [...]
+ "autowiredEnabled": { "index": 12, "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 [...]
+ "configuration": { "index": 13, "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.mina.MinaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use the shared mina configuration." },
+ "disconnectOnNoReply": { "index": 14, "kind": "property", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disco [...]
+ "maximumPoolSize": { "index": 15, "kind": "property", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
+ "orderedThreadPoolExecutor": { "index": 16, "kind": "property", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are process [...]
+ "transferExchange": { "index": 17, "kind": "property", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the exchan [...]
+ "allowDefaultCodec": { "index": 18, "kind": "property", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fals [...]
+ "codec": { "index": 19, "kind": "property", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
+ "decoderMaxLineLength": { "index": 20, "kind": "property", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value o [...]
+ "encoderMaxLineLength": { "index": 21, "kind": "property", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
+ "encoding": { "index": 22, "kind": "property", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
+ "filters": { "index": 23, "kind": "property", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
+ "objectCodecPattern": { "index": 24, "kind": "property", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise rejecte [...]
+ "textline": { "index": 25, "kind": "property", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if [...]
+ "textlineDelimiter": { "index": 26, "kind": "property", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
+ "sslContextParameters": { "index": 27, "kind": "property", "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." },
+ "useGlobalSslContextParameters": { "index": 28, "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters." }
},
"headers": {
"CamelMinaCloseSessionWhenComplete": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Indicates whether the session should be closed after complete", "constantName": "org.apache.camel.component.mina.MinaConstants#MINA_CLOSE_SESSION_WHEN_COMPLETE" },
@@ -69,26 +70,27 @@
"timeout": { "index": 6, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the timeout that specifies how long to wait for a response from a remote server. The timeout unit [...]
"writeTimeout": { "index": 7, "kind": "parameter", "displayName": "Write Timeout", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds." },
"clientMode": { "index": 8, "kind": "parameter", "displayName": "Client Mode", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If the clientMode is true, mina consumer will connect the address as a TCP client." },
- "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
- "exceptionHandler": { "index": 10, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
- "exchangePattern": { "index": 11, "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." },
- "noReplyLogLevel": { "index": 12, "kind": "parameter", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuratio [...]
- "cachedAddress": { "index": 13, "kind": "parameter", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to fal [...]
- "lazySessionCreation": { "index": 14, "kind": "parameter", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if t [...]
- "lazyStartProducer": { "index": 15, "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 produ [...]
- "disconnectOnNoReply": { "index": 16, "kind": "parameter", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disc [...]
- "maximumPoolSize": { "index": 17, "kind": "parameter", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
- "orderedThreadPoolExecutor": { "index": 18, "kind": "parameter", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are proces [...]
- "transferExchange": { "index": 19, "kind": "parameter", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the excha [...]
- "allowDefaultCodec": { "index": 20, "kind": "parameter", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fal [...]
- "codec": { "index": 21, "kind": "parameter", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
- "decoderMaxLineLength": { "index": 22, "kind": "parameter", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value [...]
- "encoderMaxLineLength": { "index": 23, "kind": "parameter", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
- "encoding": { "index": 24, "kind": "parameter", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
- "filters": { "index": 25, "kind": "parameter", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
- "objectCodecPattern": { "index": 26, "kind": "parameter", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise reject [...]
- "textline": { "index": 27, "kind": "parameter", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; i [...]
- "textlineDelimiter": { "index": 28, "kind": "parameter", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
- "sslContextParameters": { "index": 29, "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." }
+ "muteException": { "index": 9, "kind": "parameter", "displayName": "Mute Exception", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If enabled and an Exchange failed processing on the consumer side the response written bac [...]
+ "bridgeErrorHandler": { "index": 10, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "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 [...]
+ "exceptionHandler": { "index": 11, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 12, "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." },
+ "noReplyLogLevel": { "index": 13, "kind": "parameter", "displayName": "No Reply Log Level", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuratio [...]
+ "cachedAddress": { "index": 14, "kind": "parameter", "displayName": "Cached Address", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to create the InetAddress once and reuse. Setting this to fal [...]
+ "lazySessionCreation": { "index": 15, "kind": "parameter", "displayName": "Lazy Session Creation", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Sessions can be lazily created to avoid exceptions, if t [...]
+ "lazyStartProducer": { "index": 16, "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 produ [...]
+ "disconnectOnNoReply": { "index": 17, "kind": "parameter", "displayName": "Disconnect On No Reply", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "If sync is enabled then this option dictates MinaConsumer if it should disc [...]
+ "maximumPoolSize": { "index": 18, "kind": "parameter", "displayName": "Maximum Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Number of worker threads in the worker pool for TCP and UDP" },
+ "orderedThreadPoolExecutor": { "index": 19, "kind": "parameter", "displayName": "Ordered Thread Pool Executor", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Whether to use ordered thread pool, to ensure events are proces [...]
+ "transferExchange": { "index": 20, "kind": "parameter", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "autowired": false, "secret": false, "security": "insecure:serialization", "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. You can transfer the excha [...]
+ "allowDefaultCodec": { "index": 21, "kind": "parameter", "displayName": "Allow Default Codec", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "The mina component installs a default codec if both, codec is null and textline is fal [...]
+ "codec": { "index": 22, "kind": "parameter", "displayName": "Codec", "group": "codec", "label": "codec", "required": false, "type": "object", "javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To use a custom minda codec implementation." },
+ "decoderMaxLineLength": { "index": 23, "kind": "parameter", "displayName": "Decoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol decoder max line length. By default the default value [...]
+ "encoderMaxLineLength": { "index": 24, "kind": "parameter", "displayName": "Encoder Max Line Length", "group": "codec", "label": "codec", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To set the textline protocol encoder max line length. By default the default value of [...]
+ "encoding": { "index": 25, "kind": "parameter", "displayName": "Encoding", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, [...]
+ "filters": { "index": 26, "kind": "parameter", "displayName": "Filters", "group": "codec", "label": "codec", "required": false, "type": "array", "javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "You can set a list of Mina IoFilters to use." },
+ "objectCodecPattern": { "index": 27, "kind": "parameter", "displayName": "Object Codec Pattern", "group": "codec", "label": "codec", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Accept the wildcard specified classes for Object deserialization, unless they are otherwise reject [...]
+ "textline": { "index": 28, "kind": "parameter", "displayName": "Textline", "group": "codec", "label": "codec", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; i [...]
+ "textlineDelimiter": { "index": 29, "kind": "parameter", "displayName": "Textline Delimiter", "group": "codec", "label": "codec", "required": false, "type": "enum", "javaType": "org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT", "AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "Only used [...]
+ "sslContextParameters": { "index": 30, "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, "configurationClass": "org.apache.camel.component.mina.MinaConfiguration", "configurationField": "configuration", "description": "To configure SSL security." }
}
}
diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
index 4be77e317f08..30b5d789a1bf 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
@@ -91,6 +91,8 @@ public class MinaConfiguration implements Cloneable {
private boolean cachedAddress = true;
@UriParam(label = "consumer")
private boolean clientMode;
+ @UriParam(label = "consumer", defaultValue = "true")
+ private boolean muteException = true;
/**
* Returns a copy of this configuration
@@ -424,6 +426,18 @@ public class MinaConfiguration implements Cloneable {
return clientMode;
}
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the response written back to the remote peer
+ * won't contain the exception's class, message or stack trace.
+ */
+ public void setMuteException(boolean muteException) {
+ this.muteException = muteException;
+ }
+
+ public boolean isMuteException() {
+ return muteException;
+ }
+
// here we just shows the option setting of host, port, protocol
public String getUriString() {
return "mina:" + getProtocol() + ":" + getHost() + ":" + getPort();
diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
index cd019ec8977d..95756ac1d4ed 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
@@ -64,6 +64,7 @@ import org.slf4j.LoggerFactory;
public class MinaConsumer extends DefaultConsumer {
private static final Logger LOG = LoggerFactory.getLogger(MinaConsumer.class);
+ private static final String MUTED_EXCEPTION_MESSAGE = "Exchange processing failed";
private IoSession session;
private IoConnector connector;
private SocketAddress address;
@@ -313,6 +314,19 @@ public class MinaConsumer extends DefaultConsumer {
addCodecFactory(service, codecFactory);
}
+ /**
+ * The stand-in written back to the remote peer when {@code muteException} is enabled.
+ * <p>
+ * Still a {@link Exception}, so a peer that expects one - the object codec deserialises whatever was written -
+ * keeps getting one, but it carries neither the class nor the message of the route's exception. Its own stack trace
+ * is cleared as well: leaving it would serialise this consumer's frames to the peer instead.
+ */
+ private static Exception mutedException() {
+ Exception muted = new Exception(MUTED_EXCEPTION_MESSAGE);
+ muted.setStackTrace(new StackTraceElement[0]);
+ return muted;
+ }
+
private void addCodecFactory(IoService service, ProtocolCodecFactory codecFactory) {
service.getFilterChain().addLast("codec", new ProtocolCodecFilter(codecFactory));
}
@@ -450,7 +464,8 @@ public class MinaConsumer extends DefaultConsumer {
boolean failed = exchange.isFailed();
if (failed && !getEndpoint().getConfiguration().isTransferExchange()) {
if (exchange.getException() != null) {
- response = exchange.getException();
+ response = getEndpoint().getConfiguration().isMuteException()
+ ? mutedException() : exchange.getException();
} else {
// failed and no exception, must be a fault
response = exchange.getOut().getBody();
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaMuteExceptionTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaMuteExceptionTest.java
new file mode 100644
index 000000000000..7d3a0bf1e72a
--- /dev/null
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaMuteExceptionTest.java
@@ -0,0 +1,88 @@
+/*
+ * 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.component.mina;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * The consumer used to write {@code exchange.getException()} straight back over the socket, so a route failure handed
+ * the remote peer the exception - its class and message over a textline codec, and its serialised form, cause chain
+ * included, over the object codec.
+ * <p>
+ * {@code muteException} defaults to true, matching the http consumers aligned by CAMEL-23651.
+ */
+class MinaMuteExceptionTest extends BaseMinaTest {
+
+ private static final String DETAIL = "the-internal-detail-a-peer-must-not-see";
+
+ /** getNextPort() allocates a fresh port on every call, so the second consumer's port is resolved once. */
+ private Integer unmutedPort;
+
+ @Test
+ void aFailedExchangeDoesNotWriteTheExceptionByDefault() {
+ String reply = template.requestBody(mutedUri(), "hello", String.class);
+
+ assertFalse(reply.contains(DETAIL), "the reply must not carry the message of the route's exception");
+ assertFalse(reply.contains("IllegalStateException"), "the reply must not carry the class of the route's exception");
+ // still a reply rather than a dropped connection, so a synchronous peer is not left to time out
+ assertFalse(reply.isEmpty(), "a muted failure must still produce a reply");
+ }
+
+ @Test
+ void muteExceptionFalseWritesTheExceptionAsBefore() {
+ String reply = template.requestBody(unmutedUri(), "hello", String.class);
+
+ assertTrue(reply.contains(DETAIL));
+ assertTrue(reply.contains("IllegalStateException"));
+ }
+
+ private String mutedUri() {
+ return uri(getPort(), "");
+ }
+
+ private String unmutedUri() {
+ if (unmutedPort == null) {
+ unmutedPort = getNextPort();
+ }
+ return uri(unmutedPort, "&muteException=false");
+ }
+
+ private static String uri(int port, String extra) {
+ return String.format("mina:tcp://localhost:%1$s?sync=true&textline=true%2$s", port, extra);
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ @Override
+ public void configure() {
+ from(mutedUri())
+ .process(e -> {
+ throw new IllegalStateException(DETAIL);
+ });
+ from(unmutedUri())
+ .process(e -> {
+ throw new IllegalStateException(DETAIL);
+ });
+ }
+ };
+ }
+}
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java
index b2949e9ebf1a..72c4c200f226 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java
@@ -125,7 +125,7 @@ public class MinaTcpLineDelimiterUsingPlainSocketTest extends BaseMinaTest {
// use no delay for fast unit testing
errorHandler(defaultErrorHandler().maximumRedeliveries(2));
- fromF("mina:tcp://localhost:%1$s?textline=true&minaLogger=true&textlineDelimiter=MAC&sync=true",
+ fromF("mina:tcp://localhost:%1$s?textline=true&minaLogger=true&textlineDelimiter=MAC&sync=true&muteException=false",
getPort())
.process(e -> {
String in = e.getIn().getBody(String.class);
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
index d8bb2dcc00fc..bdfdb0dd1a13 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
@@ -134,7 +134,7 @@ public class MinaTcpWithInOutUsingPlainSocketTest extends BaseMinaTest {
return new RouteBuilder() {
public void configure() {
- fromF("mina:tcp://localhost:%1$s?textline=true&sync=true", getPort())
+ fromF("mina:tcp://localhost:%1$s?textline=true&sync=true&muteException=false", getPort())
.process(e -> {
String in = e.getIn().getBody(String.class);
if ("force-null-out-body".equals(in)) {
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithIoOutProcessorExceptionTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithIoOutProcessorExceptionTest.java
index a0d8f065756a..cd76ad498a0b 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithIoOutProcessorExceptionTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithIoOutProcessorExceptionTest.java
@@ -45,7 +45,7 @@ public class MinaTcpWithIoOutProcessorExceptionTest extends BaseMinaTest {
// use no delay for fast unit testing
errorHandler(defaultErrorHandler().maximumRedeliveries(2));
- fromF("mina:tcp://localhost:%1$s?textline=true&sync=true", getPort()).process(e -> {
+ fromF("mina:tcp://localhost:%1$s?textline=true&sync=true&muteException=false", getPort()).process(e -> {
assertEquals("Hello World", e.getIn().getBody(String.class));
// simulate a problem processing the input to see if we can handle it properly
throw new IllegalArgumentException("Forced exception");
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MinaComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MinaComponentBuilderFactory.java
index 7c66053729f2..c480ef0dadc4 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MinaComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MinaComponentBuilderFactory.java
@@ -187,6 +187,25 @@ public interface MinaComponentBuilderFactory {
}
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the
+ * response written back to the remote peer won't contain the
+ * exception's class, message or stack trace.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default MinaComponentBuilder muteException(boolean muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
+
+
/**
* If sync is enabled this option dictates MinaConsumer which logging
* level to use when logging a there is no reply to send back.
@@ -602,6 +621,7 @@ public interface MinaComponentBuilderFactory {
case "writeTimeout": getOrCreateConfiguration((MinaComponent) component).setWriteTimeout((long) value); return true;
case "bridgeErrorHandler": ((MinaComponent) component).setBridgeErrorHandler((boolean) value); return true;
case "clientMode": getOrCreateConfiguration((MinaComponent) component).setClientMode((boolean) value); return true;
+ case "muteException": getOrCreateConfiguration((MinaComponent) component).setMuteException((boolean) value); return true;
case "noReplyLogLevel": getOrCreateConfiguration((MinaComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
case "lazyStartProducer": ((MinaComponent) component).setLazyStartProducer((boolean) value); return true;
case "cachedAddress": getOrCreateConfiguration((MinaComponent) component).setCachedAddress((boolean) value); return true;
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfEndpointBuilderFactory.java
index f0c09a1c0cad..63ecb3b889b1 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfEndpointBuilderFactory.java
@@ -113,6 +113,48 @@ public interface CxfEndpointBuilderFactory {
doSetProperty("wrappedStyle", wrappedStyle);
return this;
}
+ /**
+ * If enabled and an Exchange failed processing on the consumer side,
+ * and the exception is not a SOAP fault the service contract declares,
+ * the SOAP fault returned to the caller won't contain the exception's
+ * class or message. Faults the route raises deliberately - a CXF Fault,
+ * an exception annotated {code WebFault}, or a Throwable set as the
+ * message body - are part of the contract and are always returned in
+ * full.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default CxfEndpointConsumerBuilder muteException(boolean muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
+ /**
+ * If enabled and an Exchange failed processing on the consumer side,
+ * and the exception is not a SOAP fault the service contract declares,
+ * the SOAP fault returned to the caller won't contain the exception's
+ * class or message. Faults the route raises deliberately - a CXF Fault,
+ * an exception annotated {code WebFault}, or a Throwable set as the
+ * message body - are part of the contract and are always returned in
+ * full.
+ *
+ * The option will be converted to a <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default CxfEndpointConsumerBuilder muteException(String muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
/**
* This option enables CXF Logging Feature which writes inbound and
* outbound SOAP messages to log.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GrpcEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GrpcEndpointBuilderFactory.java
index e57b0c06e27d..836e8854d46b 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GrpcEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GrpcEndpointBuilderFactory.java
@@ -597,6 +597,40 @@ public interface GrpcEndpointBuilderFactory {
doSetProperty("maxRstPeriodSeconds", maxRstPeriodSeconds);
return this;
}
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the
+ * status description returned to the client won't contain the
+ * exception's message.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default GrpcEndpointConsumerBuilder muteException(boolean muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the
+ * status description returned to the client won't contain the
+ * exception's message.
+ *
+ * The option will be converted to a <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default GrpcEndpointConsumerBuilder muteException(String muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
/**
* Sets the most aggressive keep-alive time in milliseconds that clients
* are permitted to configure. The server will try to detect clients
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MinaEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MinaEndpointBuilderFactory.java
index a6b52d6bd721..44d3a2cc3a4d 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MinaEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MinaEndpointBuilderFactory.java
@@ -235,6 +235,40 @@ public interface MinaEndpointBuilderFactory {
doSetProperty("clientMode", clientMode);
return this;
}
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the
+ * response written back to the remote peer won't contain the
+ * exception's class, message or stack trace.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default MinaEndpointConsumerBuilder muteException(boolean muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
+ /**
+ * If enabled and an Exchange failed processing on the consumer side the
+ * response written back to the remote peer won't contain the
+ * exception's class, message or stack trace.
+ *
+ * The option will be converted to a <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param muteException the value to set
+ * @return the dsl builder
+ */
+ default MinaEndpointConsumerBuilder muteException(String muteException) {
+ doSetProperty("muteException", muteException);
+ return this;
+ }
/**
* The mina component installs a default codec if both, codec is null
* and textline is false. Setting allowDefaultCodec to false prevents
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
index 9592e1e2bed4..055a44ffa03b 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
@@ -118,12 +118,9 @@ public class GreeterClientTest {
fail("should fail");
} catch (Exception ex) {
assertTrue(ex instanceof SOAPFaultException, "Get a wrong type exception.");
- assertTrue(ex.getMessage().startsWith("Cannot access the processor which has been protected."),
- "Get a wrong exception message");
- assertTrue(
- ex.getMessage().endsWith(
- "Caused by: [org.springframework.security.authorization.AuthorizationDeniedException - Access Denied]"),
- "Get a wrong exception message");
+ // CxfEndpoint's muteException consumer option defaults to true (CAMEL-24477): an undeclared
+ // route failure - such as this authorization denial - no longer leaks its message to the caller.
+ assertEquals("Exchange processing failed", ex.getMessage(), "Get a wrong exception message");
}
}