This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push:
new a8ce3d5dbd1 CAMEL-21863: camel-as2 - Make configuring endpoint more
tooling friendly
a8ce3d5dbd1 is described below
commit a8ce3d5dbd14a7af77564aa55b8e9e11cc280815
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Mar 13 09:36:43 2025 +0100
CAMEL-21863: camel-as2 - Make configuring endpoint more tooling friendly
---
.../camel/springboot/catalog/components/as2.json | 58 +++++++++++-----------
.../camel-as2-starter/src/main/docs/as2.json | 13 +++++
.../as2/springboot/AS2ComponentConfiguration.java | 28 +++++++++++
.../as2/springboot/AS2ComponentConverter.java | 2 +
4 files changed, 73 insertions(+), 28 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/as2.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/as2.json
index ba605e56ad2..4958566f35b 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/as2.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/as2.json
@@ -28,7 +28,9 @@
"bridgeErrorHandler": { "index": 0, "kind": "property", "displayName":
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Allows for bridging the consumer to the Camel routing Error Handler, which
mean any exceptions (if possible) occurred while the Camel consumer is trying
to pickup incoming messages, or the like [...]
"lazyStartProducer": { "index": 1, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Whether the producer should be started lazy (on the first message). By
starting lazy you can use this to allow CamelContext and routes to startup in
situations where a producer may otherwise fail [...]
"autowiredEnabled": { "index": 2, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"Whether autowiring is enabled. This is used for automatic autowiring options
(the option must be marked as autowired) by looking up in the registry to find
if there is a single instance of matching t [...]
- "configuration": { "index": 3, "kind": "property", "displayName":
"Configuration", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.as2.AS2Configuration", "deprecated": false,
"autowired": false, "secret": false, "description": "Component configuration" }
+ "configuration": { "index": 3, "kind": "property", "displayName":
"Configuration", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.as2.AS2Configuration", "deprecated": false,
"autowired": false, "secret": false, "description": "Component configuration" },
+ "sslContextParameters": { "index": 4, "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, "description": "To configure security
using SSLContextParameters" },
+ "useGlobalSslContextParameters": { "index": 5, "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." }
},
"properties": {
"apiName": { "index": 0, "kind": "path", "displayName": "Api Name",
"group": "common", "label": "", "required": true, "type": "object", "javaType":
"org.apache.camel.component.as2.internal.AS2ApiName", "enum": [ "CLIENT",
"SERVER", "RECEIPT" ], "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "What kind of operation to perform" },
@@ -46,33 +48,33 @@
"ediMessageTransferEncoding": { "index": 12, "kind": "parameter",
"displayName": "Edi Message Transfer Encoding", "group": "common", "label": "",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The transfer encoding of EDI message." },
"ediMessageType": { "index": 13, "kind": "parameter", "displayName": "Edi
Message Type", "group": "common", "label": "", "required": false, "type":
"string", "javaType": "java.lang.String", "enum": [ "application\/edifact",
"application\/edi-x12", "application\/edi-consent", "application\/xml" ],
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The [...]
"from": { "index": 14, "kind": "parameter", "displayName": "From",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The value of the From header of AS2 message."
},
- "hostnameVerifier": { "index": 15, "kind": "parameter", "displayName":
"Hostname Verifier", "group": "common", "label": "", "required": false, "type":
"object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "Set hostname verifier for SSL session." },
- "httpConnectionPoolSize": { "index": 16, "kind": "parameter",
"displayName": "Http Connection Pool Size", "group": "common", "label": "",
"required": false, "type": "integer", "javaType": "java.lang.Integer",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": "5",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The maximum size of the
connection pool for http connections (client only)" },
- "httpConnectionPoolTtl": { "index": 17, "kind": "parameter",
"displayName": "Http Connection Pool Ttl", "group": "common", "label": "",
"required": false, "type": "object", "javaType": "java.time.Duration",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
"15m", "configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The time to live for
connections in the connection pool (client only)" },
- "httpConnectionTimeout": { "index": 18, "kind": "parameter",
"displayName": "Http Connection Timeout", "group": "common", "label": "",
"required": false, "type": "object", "javaType": "java.time.Duration",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": "5s",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The timeout of the http
connection (client only)" },
- "httpSocketTimeout": { "index": 19, "kind": "parameter", "displayName":
"Http Socket Timeout", "group": "common", "label": "", "required": false,
"type": "object", "javaType": "java.time.Duration", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "5s",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The timeout of the
underlying http socket (client only)" },
- "inBody": { "index": 20, "kind": "parameter", "displayName": "In Body",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "Sets the name of a parameter to be passed in
the exchange In Body" },
- "mdnMessageTemplate": { "index": 21, "kind": "parameter", "displayName":
"Mdn Message Template", "group": "common", "label": "", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The template used to format MDN message" },
- "receiptDeliveryOption": { "index": 22, "kind": "parameter",
"displayName": "Receipt Delivery Option", "group": "common", "label": "",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The return URL that the message receiver
should send an asynchronous MDN to. If not present the re [...]
- "requestUri": { "index": 23, "kind": "parameter", "displayName": "Request
Uri", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "\/", "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The request URI of EDI message." },
- "server": { "index": 24, "kind": "parameter", "displayName": "Server",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "Camel AS2 Server Endpoint",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The value included in
the Server message header identifying the AS2 Server." },
- "serverFqdn": { "index": 25, "kind": "parameter", "displayName": "Server
Fqdn", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "camel.apache.org", "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The Server Fully Qualified Domain Name (FQDN).
Used in message ids sent by endpoint." },
- "serverPortNumber": { "index": 26, "kind": "parameter", "displayName":
"Server Port Number", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The port number of server." },
- "sslContext": { "index": 27, "kind": "parameter", "displayName": "Ssl
Context", "group": "common", "label": "", "required": false, "type": "object",
"javaType": "javax.net.ssl.SSLContext", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "Set SSL context for connection to remote
server." },
- "subject": { "index": 28, "kind": "parameter", "displayName": "Subject",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The value of Subject header of AS2 message." },
- "targetHostname": { "index": 29, "kind": "parameter", "displayName":
"Target Hostname", "group": "common", "label": "", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The host name (IP or DNS name) of target
host." },
- "targetPortNumber": { "index": 30, "kind": "parameter", "displayName":
"Target Port Number", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "80",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The port number of
target host. -1 indicates the scheme default port." },
- "userAgent": { "index": 31, "kind": "parameter", "displayName": "User
Agent", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "Camel AS2 Client Endpoint",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The value included in
the User-Agent message header identifying the AS2 user a [...]
- "exceptionHandler": { "index": 32, "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": 33, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "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." },
- "lazyStartProducer": { "index": 34, "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 [...]
- "decryptingPrivateKey": { "index": 35, "kind": "parameter", "displayName":
"Decrypting Private Key", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The key used to encrypt the EDI message." },
- "encryptingAlgorithm": { "index": 36, "kind": "parameter", "displayName":
"Encrypting Algorithm", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.as2.api.AS2EncryptionAlgorithm", "enum": [
"AES128_CBC", "AES192_CBC", "AES256_CBC", "AES128_CCM", "AES192_CCM",
"AES256_CCM", "AES128_GCM", "AES192_GCM", "AES256_GCM", "CAMELLIA128_CBC",
"CAMELLIA192_CBC", "CAMELLIA256_CBC", "CAST5_CBC", "DES_CBC", "DES_EDE3_CBC",
"GOST [...]
- "encryptingCertificateChain": { "index": 37, "kind": "parameter",
"displayName": "Encrypting Certificate Chain", "group": "security", "label":
"security", "required": false, "type": "object", "javaType":
"java.security.cert.Certificate[]", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The chain of certificates used to encrypt EDI
message." },
- "signedReceiptMicAlgorithms": { "index": 38, "kind": "parameter",
"displayName": "Signed Receipt Mic Algorithms", "group": "security", "label":
"security", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The list of algorithms,
in order of preference, requested to generate a messa [...]
- "signingAlgorithm": { "index": 39, "kind": "parameter", "displayName":
"Signing Algorithm", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.as2.api.AS2SignatureAlgorithm", "enum": [
"SHA3_224WITHRSA", "SHA3_256WITHRSA", "SHA3_384withRSA", "SHA3_512WITHRSA",
"MD5WITHRSA", "SHA1WITHRSA", "MD2WITHRSA", "SHA224WITHRSA", "SHA256WITHRSA",
"SHA384WITHRSA", "SHA512WITHRSA", "RIPEMD128WITHRSA", "RIPEMD160WITHRSA",
"RIPEMD2 [...]
- "signingCertificateChain": { "index": 40, "kind": "parameter",
"displayName": "Signing Certificate Chain", "group": "security", "label":
"security", "required": false, "type": "object", "javaType":
"java.security.cert.Certificate[]", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The chain of certificates used to sign EDI
message." },
- "signingPrivateKey": { "index": 41, "kind": "parameter", "displayName":
"Signing Private Key", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The key used to sign the EDI message." },
+ "httpConnectionPoolSize": { "index": 15, "kind": "parameter",
"displayName": "Http Connection Pool Size", "group": "common", "label": "",
"required": false, "type": "integer", "javaType": "java.lang.Integer",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": "5",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The maximum size of the
connection pool for http connections (client only)" },
+ "httpConnectionPoolTtl": { "index": 16, "kind": "parameter",
"displayName": "Http Connection Pool Ttl", "group": "common", "label": "",
"required": false, "type": "object", "javaType": "java.time.Duration",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
"15m", "configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The time to live for
connections in the connection pool (client only)" },
+ "httpConnectionTimeout": { "index": 17, "kind": "parameter",
"displayName": "Http Connection Timeout", "group": "common", "label": "",
"required": false, "type": "object", "javaType": "java.time.Duration",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": "5s",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The timeout of the http
connection (client only)" },
+ "httpSocketTimeout": { "index": 18, "kind": "parameter", "displayName":
"Http Socket Timeout", "group": "common", "label": "", "required": false,
"type": "object", "javaType": "java.time.Duration", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "5s",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The timeout of the
underlying http socket (client only)" },
+ "inBody": { "index": 19, "kind": "parameter", "displayName": "In Body",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "Sets the name of a parameter to be passed in
the exchange In Body" },
+ "mdnMessageTemplate": { "index": 20, "kind": "parameter", "displayName":
"Mdn Message Template", "group": "common", "label": "", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The template used to format MDN message" },
+ "receiptDeliveryOption": { "index": 21, "kind": "parameter",
"displayName": "Receipt Delivery Option", "group": "common", "label": "",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The return URL that the message receiver
should send an asynchronous MDN to. If not present the re [...]
+ "requestUri": { "index": 22, "kind": "parameter", "displayName": "Request
Uri", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "\/", "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The request URI of EDI message." },
+ "server": { "index": 23, "kind": "parameter", "displayName": "Server",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "Camel AS2 Server Endpoint",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The value included in
the Server message header identifying the AS2 Server." },
+ "serverFqdn": { "index": 24, "kind": "parameter", "displayName": "Server
Fqdn", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "camel.apache.org", "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The Server Fully Qualified Domain Name (FQDN).
Used in message ids sent by endpoint." },
+ "serverPortNumber": { "index": 25, "kind": "parameter", "displayName":
"Server Port Number", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The port number of server." },
+ "subject": { "index": 26, "kind": "parameter", "displayName": "Subject",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The value of Subject header of AS2 message." },
+ "targetHostname": { "index": 27, "kind": "parameter", "displayName":
"Target Hostname", "group": "common", "label": "", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The host name (IP or DNS name) of target
host." },
+ "targetPortNumber": { "index": 28, "kind": "parameter", "displayName":
"Target Port Number", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "80",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The port number of
target host. -1 indicates the scheme default port." },
+ "userAgent": { "index": 29, "kind": "parameter", "displayName": "User
Agent", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "Camel AS2 Client Endpoint",
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The value included in
the User-Agent message header identifying the AS2 user a [...]
+ "exceptionHandler": { "index": 30, "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": 31, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "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." },
+ "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 [...]
+ "decryptingPrivateKey": { "index": 33, "kind": "parameter", "displayName":
"Decrypting Private Key", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The key used to encrypt the EDI message." },
+ "encryptingAlgorithm": { "index": 34, "kind": "parameter", "displayName":
"Encrypting Algorithm", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.as2.api.AS2EncryptionAlgorithm", "enum": [
"AES128_CBC", "AES192_CBC", "AES256_CBC", "AES128_CCM", "AES192_CCM",
"AES256_CCM", "AES128_GCM", "AES192_GCM", "AES256_GCM", "CAMELLIA128_CBC",
"CAMELLIA192_CBC", "CAMELLIA256_CBC", "CAST5_CBC", "DES_CBC", "DES_EDE3_CBC",
"GOST [...]
+ "encryptingCertificateChain": { "index": 35, "kind": "parameter",
"displayName": "Encrypting Certificate Chain", "group": "security", "label":
"security", "required": false, "type": "object", "javaType":
"java.security.cert.Certificate[]", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The chain of certificates used to encrypt EDI
message." },
+ "hostnameVerifier": { "index": 36, "kind": "parameter", "displayName":
"Hostname Verifier", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "Set hostname verifier for SSL session." },
+ "signedReceiptMicAlgorithms": { "index": 37, "kind": "parameter",
"displayName": "Signed Receipt Mic Algorithms", "group": "security", "label":
"security", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.as2.AS2Configuration",
"configurationField": "configuration", "description": "The list of algorithms,
in order of preference, requested to generate a messa [...]
+ "signingAlgorithm": { "index": 38, "kind": "parameter", "displayName":
"Signing Algorithm", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.as2.api.AS2SignatureAlgorithm", "enum": [
"SHA3_224WITHRSA", "SHA3_256WITHRSA", "SHA3_384withRSA", "SHA3_512WITHRSA",
"MD5WITHRSA", "SHA1WITHRSA", "MD2WITHRSA", "SHA224WITHRSA", "SHA256WITHRSA",
"SHA384WITHRSA", "SHA512WITHRSA", "RIPEMD128WITHRSA", "RIPEMD160WITHRSA",
"RIPEMD2 [...]
+ "signingCertificateChain": { "index": 39, "kind": "parameter",
"displayName": "Signing Certificate Chain", "group": "security", "label":
"security", "required": false, "type": "object", "javaType":
"java.security.cert.Certificate[]", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The chain of certificates used to sign EDI
message." },
+ "signingPrivateKey": { "index": 40, "kind": "parameter", "displayName":
"Signing Private Key", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "The key used to sign the EDI message." },
+ "sslContext": { "index": 41, "kind": "parameter", "displayName": "Ssl
Context", "group": "security", "label": "security", "required": false, "type":
"object", "javaType": "javax.net.ssl.SSLContext", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "Set SSL context for connection to remote
server." },
"validateSigningCertificateChain": { "index": 42, "kind": "parameter",
"displayName": "Validate Signing Certificate Chain", "group": "security",
"label": "security", "required": false, "type": "object", "javaType":
"java.security.cert.Certificate[]", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.as2.AS2Configuration", "configurationField":
"configuration", "description": "Certificates to validate the message's
signature ag [...]
},
"apis": {
diff --git a/components-starter/camel-as2-starter/src/main/docs/as2.json
b/components-starter/camel-as2-starter/src/main/docs/as2.json
index 55268b1e2cc..102495f52b5 100644
--- a/components-starter/camel-as2-starter/src/main/docs/as2.json
+++ b/components-starter/camel-as2-starter/src/main/docs/as2.json
@@ -50,6 +50,19 @@
"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 during
starting and cause the route to fail being started. By deferring this startup
to be lazy then the startup failure can be handled during routing messages via
Camel's routing error handlers. Beware that when the first message is processed
then creating and starting the [...]
"sourceType":
"org.apache.camel.component.as2.springboot.AS2ComponentConfiguration",
"defaultValue": false
+ },
+ {
+ "name": "camel.component.as2.ssl-context-parameters",
+ "type": "org.apache.camel.support.jsse.SSLContextParameters",
+ "description": "To configure security using SSLContextParameters. The
option is a org.apache.camel.support.jsse.SSLContextParameters type.",
+ "sourceType":
"org.apache.camel.component.as2.springboot.AS2ComponentConfiguration"
+ },
+ {
+ "name": "camel.component.as2.use-global-ssl-context-parameters",
+ "type": "java.lang.Boolean",
+ "description": "Enable usage of global SSL context parameters.",
+ "sourceType":
"org.apache.camel.component.as2.springboot.AS2ComponentConfiguration",
+ "defaultValue": false
}
],
"hints": []
diff --git
a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConfiguration.java
b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConfiguration.java
index d323d0f17c0..5d56220ba2e 100644
---
a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConfiguration.java
+++
b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConfiguration.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.as2.springboot;
import org.apache.camel.component.as2.AS2Configuration;
import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.apache.camel.support.jsse.SSLContextParameters;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
@@ -74,6 +75,15 @@ public class AS2ComponentConfiguration
* org.apache.camel.component.as2.AS2Configuration type.
*/
private AS2Configuration configuration;
+ /**
+ * To configure security using SSLContextParameters. The option is a
+ * org.apache.camel.support.jsse.SSLContextParameters type.
+ */
+ private SSLContextParameters sslContextParameters;
+ /**
+ * Enable usage of global SSL context parameters.
+ */
+ private Boolean useGlobalSslContextParameters = false;
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -106,4 +116,22 @@ public class AS2ComponentConfiguration
public void setConfiguration(AS2Configuration configuration) {
this.configuration = configuration;
}
+
+ public SSLContextParameters getSslContextParameters() {
+ return sslContextParameters;
+ }
+
+ public void setSslContextParameters(
+ SSLContextParameters sslContextParameters) {
+ this.sslContextParameters = sslContextParameters;
+ }
+
+ public Boolean getUseGlobalSslContextParameters() {
+ return useGlobalSslContextParameters;
+ }
+
+ public void setUseGlobalSslContextParameters(
+ Boolean useGlobalSslContextParameters) {
+ this.useGlobalSslContextParameters = useGlobalSslContextParameters;
+ }
}
\ No newline at end of file
diff --git
a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
index 68595b8a84e..d41a19f828e 100644
---
a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
+++
b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
@@ -40,6 +40,7 @@ public class AS2ComponentConverter implements
GenericConverter {
public Set<ConvertiblePair> getConvertibleTypes() {
Set<ConvertiblePair> answer = new LinkedHashSet<>();
answer.add(new ConvertiblePair(String.class,
org.apache.camel.component.as2.AS2Configuration.class));
+ answer.add(new ConvertiblePair(String.class,
org.apache.camel.support.jsse.SSLContextParameters.class));
return answer;
}
@@ -57,6 +58,7 @@ public class AS2ComponentConverter implements
GenericConverter {
ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
switch (targetType.getName()) {
case "org.apache.camel.component.as2.AS2Configuration": return
applicationContext.getBean(ref,
org.apache.camel.component.as2.AS2Configuration.class);
+ case "org.apache.camel.support.jsse.SSLContextParameters": return
applicationContext.getBean(ref,
org.apache.camel.support.jsse.SSLContextParameters.class);
}
return null;
}