diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java
index 4866d58aa5817..6690745ab39b0 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java
@@ -171,7 +171,7 @@ public AS2ClientManager(AS2ClientConnection as2ClientConnection) {
* @param as2From - AS2 name of sender
* @param as2To - AS2 name of recipient
* @param as2MessageStructure - the structure of AS2 to send; see {@link AS2MessageStructure}
- * @param ediMessageContentType - the content typw of EDI message
+ * @param ediMessageContentType - the content type of EDI message
* @param ediMessageTransferEncoding - the transfer encoding used to transport EDI message
* @param signingAlgorithm - the algorithm used to sign the message or null if sending EDI
* message unsigned
@@ -188,6 +188,8 @@ public AS2ClientManager(AS2ClientConnection as2ClientConnection) {
* EDI message unencrypted
* @param encryptingCertificateChain - the chain of certificates used to encrypt the message or null
* if sending EDI message unencrypted
+ * @param attachedFileName - the name of the attached file or null if user doesn't want to
+ * specify it
* @return {@link HttpCoreContext} containing request and response used to send EDI
* message
* @throws HttpException when things go wrong.
@@ -209,7 +211,8 @@ public HttpCoreContext send(
String dispositionNotificationTo,
String[] signedReceiptMicAlgorithms,
AS2EncryptionAlgorithm encryptingAlgorithm,
- Certificate[] encryptingCertificateChain)
+ Certificate[] encryptingCertificateChain,
+ String attachedFileName)
throws HttpException {
Args.notNull(ediMessage, "EDI Message");
@@ -247,7 +250,8 @@ public HttpCoreContext send(
ApplicationEDIEntity applicationEDIEntity;
try {
applicationEDIEntity
- = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, ediMessageTransferEncoding, false);
+ = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, ediMessageTransferEncoding, false,
+ attachedFileName);
} catch (Exception e) {
throw new HttpException("Failed to create EDI message entity", e);
}
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIConsentEntity.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIConsentEntity.java
index a884ced38d452..f91c2ab65f3a0 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIConsentEntity.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIConsentEntity.java
@@ -22,8 +22,8 @@
public class ApplicationEDIConsentEntity extends ApplicationEDIEntity {
public ApplicationEDIConsentEntity(String content, String charset, String contentTransferEncoding,
- boolean isMainBody) {
- super(content, ContentType.create(AS2MediaType.APPLICATION_EDI_CONSENT, charset), contentTransferEncoding, isMainBody);
+ boolean isMainBody, String fileName) {
+ super(content, ContentType.create(AS2MediaType.APPLICATION_EDI_CONSENT, charset), contentTransferEncoding, isMainBody,
+ fileName);
}
-
}
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIEntity.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIEntity.java
index 67f014b056825..8a1ee1e57342c 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIEntity.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIEntity.java
@@ -20,23 +20,32 @@
import java.io.OutputStream;
import org.apache.camel.component.as2.api.AS2Charset;
+import org.apache.camel.component.as2.api.AS2Header;
import org.apache.camel.component.as2.api.CanonicalOutputStream;
import org.apache.camel.component.as2.api.util.EntityUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.http.Header;
import org.apache.http.HeaderIterator;
import org.apache.http.entity.ContentType;
import org.apache.http.util.Args;
+import org.slf4j.helpers.MessageFormatter;
public abstract class ApplicationEDIEntity extends MimeEntity {
+ protected static final String CONTENT_DISPOSITION_PATTERN = "attachment; filename={}";
+
private final String ediMessage;
protected ApplicationEDIEntity(String ediMessage, ContentType contentType, String contentTransferEncoding,
- boolean isMainBody) {
+ boolean isMainBody, String filename) {
this.ediMessage = Args.notNull(ediMessage, "EDI Message");
setContentType(Args.notNull(contentType, "Content Type").toString());
setContentTransferEncoding(contentTransferEncoding);
setMainBody(isMainBody);
+ if (StringUtils.isNotBlank(filename)) {
+ addHeader(AS2Header.CONTENT_DISPOSITION,
+ MessageFormatter.format(CONTENT_DISPOSITION_PATTERN, filename).getMessage());
+ }
}
public String getEdiMessage() {
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIFACTEntity.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIFACTEntity.java
index 355742ca7a926..02fc6ce10e7ef 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIFACTEntity.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIFACTEntity.java
@@ -22,8 +22,9 @@
public class ApplicationEDIFACTEntity extends ApplicationEDIEntity {
public ApplicationEDIFACTEntity(String content, String charset, String contentTransferEncoding,
- boolean isMainBody) {
- super(content, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, charset), contentTransferEncoding, isMainBody);
+ boolean isMainBody, String filename) {
+ super(content, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, charset), contentTransferEncoding, isMainBody,
+ filename);
}
}
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIX12Entity.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIX12Entity.java
index 648afc45fbf9d..9d92f0160912d 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIX12Entity.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEDIX12Entity.java
@@ -22,8 +22,9 @@
public class ApplicationEDIX12Entity extends ApplicationEDIEntity {
public ApplicationEDIX12Entity(String content, String charset, String contentTransferEncoding,
- boolean isMainBody) {
- super(content, ContentType.create(AS2MediaType.APPLICATION_EDI_X12, charset), contentTransferEncoding, isMainBody);
+ boolean isMainBody, String filename) {
+ super(content, ContentType.create(AS2MediaType.APPLICATION_EDI_X12, charset), contentTransferEncoding, isMainBody,
+ filename);
}
}
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
index 2b479a84e14a6..a756ca650fbf8 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
@@ -213,7 +213,7 @@ public static MimeEntity parseEntity(byte[] content) throws HttpException {
throw new HttpException("Failed to find Content-Type header in enveloped entity");
}
- MimeEntity entity = parseEntityBody(inbuffer, null, entityContentType, entityContentTransferEncoding, headers);
+ MimeEntity entity = parseEntityBody(inbuffer, null, entityContentType, entityContentTransferEncoding, "", headers);
entity.removeAllHeaders();
entity.setHeaders(headers);
@@ -379,7 +379,7 @@ private static void parseApplicationEDIEntity(
try {
- applicationEDIEntity = parseEDIEntityBody(inBuffer, null, contentType, contentTransferEncoding);
+ applicationEDIEntity = parseEDIEntityBody(inBuffer, null, contentType, contentTransferEncoding, "");
applicationEDIEntity.setMainBody(true);
EntityUtils.setMessageEntity(message, applicationEDIEntity);
@@ -540,7 +540,7 @@ public static MultipartSignedEntity parseMultipartSignedEntityBody(
}
MimeEntity signedEntity = parseEntityBody(inbuffer, boundary, signedEntityContentType,
- signedEntityContentTransferEncoding, headers);
+ signedEntityContentTransferEncoding, "", headers);
signedEntity.removeAllHeaders();
signedEntity.setHeaders(headers);
multipartSignedEntity.addPart(signedEntity);
@@ -786,6 +786,7 @@ public static MimeEntity parseEntityBody(
String boundary,
ContentType entityContentType,
String contentTransferEncoding,
+ String filename,
Header[] headers)
throws ParseException {
CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();
@@ -804,7 +805,7 @@ public static MimeEntity parseEntityBody(
case AS2MimeType.APPLICATION_EDIFACT:
case AS2MimeType.APPLICATION_EDI_X12:
case AS2MimeType.APPLICATION_EDI_CONSENT:
- entity = parseEDIEntityBody(inbuffer, boundary, entityContentType, contentTransferEncoding);
+ entity = parseEDIEntityBody(inbuffer, boundary, entityContentType, contentTransferEncoding, filename);
break;
case AS2MimeType.MULTIPART_SIGNED:
String multipartSignedBoundary = AS2HeaderUtils.getParameterValue(headers,
@@ -866,7 +867,8 @@ public static ApplicationEDIEntity parseEDIEntityBody(
AS2SessionInputBuffer inbuffer,
String boundary,
ContentType ediMessageContentType,
- String contentTransferEncoding)
+ String contentTransferEncoding,
+ String filename)
throws ParseException {
CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();
@@ -884,7 +886,7 @@ public static ApplicationEDIEntity parseEDIEntityBody(
ediMessageBodyPartContent = EntityUtils.decode(ediMessageBodyPartContent, charset, contentTransferEncoding);
}
ApplicationEDIEntity applicationEDIEntity = EntityUtils.createEDIEntity(ediMessageBodyPartContent,
- ediMessageContentType, contentTransferEncoding, false);
+ ediMessageContentType, contentTransferEncoding, false, filename);
return applicationEDIEntity;
} catch (Exception e) {
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/EntityUtils.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/EntityUtils.java
index b754e8c09ede6..2cc858b78c898 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/EntityUtils.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/EntityUtils.java
@@ -186,7 +186,8 @@ public static InputStream decode(InputStream is, String encoding) throws CamelEx
}
public static ApplicationEDIEntity createEDIEntity(
- String ediMessage, ContentType ediMessageContentType, String contentTransferEncoding, boolean isMainBody)
+ String ediMessage, ContentType ediMessageContentType, String contentTransferEncoding, boolean isMainBody,
+ String filename)
throws CamelException {
Args.notNull(ediMessage, "EDI Message");
Args.notNull(ediMessageContentType, "EDI Message Content Type");
@@ -196,11 +197,11 @@ public static ApplicationEDIEntity createEDIEntity(
}
switch (ediMessageContentType.getMimeType().toLowerCase()) {
case AS2MediaType.APPLICATION_EDIFACT:
- return new ApplicationEDIFACTEntity(ediMessage, charset, contentTransferEncoding, isMainBody);
+ return new ApplicationEDIFACTEntity(ediMessage, charset, contentTransferEncoding, isMainBody, filename);
case AS2MediaType.APPLICATION_EDI_X12:
- return new ApplicationEDIX12Entity(ediMessage, charset, contentTransferEncoding, isMainBody);
+ return new ApplicationEDIX12Entity(ediMessage, charset, contentTransferEncoding, isMainBody, filename);
case AS2MediaType.APPLICATION_EDI_CONSENT:
- return new ApplicationEDIConsentEntity(ediMessage, charset, contentTransferEncoding, isMainBody);
+ return new ApplicationEDIConsentEntity(ediMessage, charset, contentTransferEncoding, isMainBody, filename);
default:
throw new CamelException("Invalid EDI entity mime type: " + ediMessageContentType.getMimeType());
}
diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
index 571043d8b10df..402e2463603ca 100644
--- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
+++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
@@ -23,10 +23,7 @@
import java.security.Security;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import org.apache.camel.component.as2.api.entity.AS2DispositionModifier;
import org.apache.camel.component.as2.api.entity.AS2DispositionType;
@@ -251,7 +248,8 @@ public void plainEDIMessageTest() throws Exception {
HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
AS2MessageStructure.PLAIN, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII),
- null, null, null, null, null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ null, null, null, null, null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null,
+ "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -293,7 +291,7 @@ public void multipartSignedMessageTest() throws Exception {
HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
AS2MessageStructure.SIGNED, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII),
null, AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new Certificate[0]), signingKP.getPrivate(),
- null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null, "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -451,7 +449,7 @@ public void envelopedMessageTest(AS2EncryptionAlgorithm encryptionAlgorithm) thr
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null,
AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new Certificate[0]), signingKP.getPrivate(), null,
DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, encryptionAlgorithm,
- certList.toArray(new Certificate[0]));
+ certList.toArray(new Certificate[0]), "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -509,7 +507,7 @@ public void envelopedAndSignedMessageTest(AS2EncryptionAlgorithm encryptionAlgor
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null,
AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new Certificate[0]), signingKP.getPrivate(), null,
DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, encryptionAlgorithm,
- certList.toArray(new Certificate[0]));
+ certList.toArray(new Certificate[0]), "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -575,7 +573,7 @@ public void signatureVerificationTest() throws Exception {
HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
AS2MessageStructure.SIGNED, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII),
null, AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new Certificate[0]), signingKP.getPrivate(),
- null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null, "file.txt");
HttpRequest request = httpContext.getRequest();
assertTrue(request instanceof BasicHttpEntityEnclosingRequest, "Request does not contain entity");
@@ -604,7 +602,8 @@ public void mdnMessageTest() throws Exception {
HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
AS2MessageStructure.PLAIN, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII),
- null, null, null, null, null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ null, null, null, null, null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null,
+ "file.txt");
HttpResponse response = httpContext.getResponse();
assertEquals(HttpVersion.HTTP_1_1, response.getStatusLine().getProtocolVersion(), "Unexpected method value");
@@ -646,7 +645,7 @@ public void asynchronousMdnMessageTest() throws Exception {
// Create plain edi request message to acknowledge
ApplicationEDIEntity ediEntity = EntityUtils.createEDIEntity(EDI_MESSAGE,
- ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, false);
+ ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, false, "filename.txt");
HttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("POST", REQUEST_URI);
HttpMessageUtils.setHeaderValue(request, AS2Header.SUBJECT, SUBJECT);
String httpdate = DATE_GENERATOR.getCurrentDate();
@@ -681,6 +680,7 @@ public void asynchronousMdnMessageTest() throws Exception {
// Send MDN
HttpCoreContext httpContext = mdnManager.send(mdn, RECIPIENT_DELIVERY_ADDRESS);
HttpRequest mndRequest = httpContext.getRequest();
+ Arrays.stream(request.getHeaders(AS2Header.CONTENT_DISPOSITION)).forEach(System.out::println);
DispositionNotificationMultipartReportEntity reportEntity
= HttpMessageUtils.getEntity(mndRequest, DispositionNotificationMultipartReportEntity.class);
assertNotNull(reportEntity, "Request does not contain resport");
@@ -721,7 +721,7 @@ public void compressedMessageTest() throws Exception {
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null,
null, null, null, AS2CompressionAlgorithm.ZLIB,
DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null,
- null);
+ null, "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -775,7 +775,7 @@ public void compressedAndSignedMessageTest() throws Exception {
AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new Certificate[0]), signingKP.getPrivate(),
AS2CompressionAlgorithm.ZLIB,
DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null,
- null);
+ null, "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -842,7 +842,7 @@ public void envelopedAndCompressedMessageTest() throws Exception {
AS2MessageStructure.ENCRYPTED_COMPRESSED,
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), "base64", null, null, null,
AS2CompressionAlgorithm.ZLIB, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS,
- AS2EncryptionAlgorithm.AES128_CBC, certList.toArray(new Certificate[0]));
+ AS2EncryptionAlgorithm.AES128_CBC, certList.toArray(new Certificate[0]), "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
@@ -905,7 +905,7 @@ public void envelopedCompressedAndSignedMessageTest() throws Exception {
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null,
AS2SignatureAlgorithm.SHA256WITHRSA, certList.toArray(new Certificate[0]), signingKP.getPrivate(),
AS2CompressionAlgorithm.ZLIB, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS,
- AS2EncryptionAlgorithm.AES128_CBC, certList.toArray(new Certificate[0]));
+ AS2EncryptionAlgorithm.AES128_CBC, certList.toArray(new Certificate[0]), "file.txt");
HttpRequest request = httpContext.getRequest();
assertEquals(METHOD, request.getRequestLine().getMethod(), "Unexpected method value");
diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/EntityUtilsTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/EntityUtilsTest.java
index 28035e48ab8dc..360415c97c60e 100644
--- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/EntityUtilsTest.java
+++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/EntityUtilsTest.java
@@ -17,8 +17,10 @@
package org.apache.camel.component.as2.api.util;
import org.apache.camel.component.as2.api.AS2Charset;
+import org.apache.camel.component.as2.api.AS2Header;
import org.apache.camel.component.as2.api.AS2MediaType;
import org.apache.camel.component.as2.api.entity.ApplicationEDIEntity;
+import org.apache.http.Header;
import org.apache.http.entity.ContentType;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -29,17 +31,39 @@ public class EntityUtilsTest {
public void testCreateEDIEntityContentTypeWithoutEncoding() throws Exception {
ContentType ediMessageContentType = ContentType.create(AS2MediaType.APPLICATION_EDIFACT, (String) null);
String ediMessage = "whatever";
- ApplicationEDIEntity applicationEDIEntity = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, null, false);
+ ApplicationEDIEntity applicationEDIEntity
+ = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, null, false, "sample.txt");
String actualContentType = applicationEDIEntity.getContentTypeValue();
Assertions.assertEquals("application/edifact", actualContentType, "content type matches");
+ Header[] actualContentDisposition = applicationEDIEntity.getHeaders(AS2Header.CONTENT_DISPOSITION);
+ Assertions.assertEquals(1, actualContentDisposition.length, "exactly one Content-Disposition header found");
+ Assertions.assertEquals("Content-Disposition: attachment; filename=sample.txt",
+ actualContentDisposition[0].toString());
}
@Test
public void testCreateEDIEntityContentTypeWithEncoding() throws Exception {
ContentType ediMessageContentType = ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII);
String ediMessage = "whatever";
- ApplicationEDIEntity applicationEDIEntity = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, null, false);
+ ApplicationEDIEntity applicationEDIEntity
+ = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, null, false, "sample.txt");
String actualContentType = applicationEDIEntity.getContentTypeValue();
Assertions.assertEquals("application/edifact; charset=US-ASCII", actualContentType, "content type matches");
+ Header[] actualContentDisposition = applicationEDIEntity.getHeaders(AS2Header.CONTENT_DISPOSITION);
+ Assertions.assertEquals(1, actualContentDisposition.length, "exactly one Content-Disposition header found");
+ Assertions.assertEquals("Content-Disposition: attachment; filename=sample.txt",
+ actualContentDisposition[0].toString());
+ }
+
+ @Test
+ public void testCreateEDIEntityContentTypeWithoutContentDisposition() throws Exception {
+ ContentType ediMessageContentType = ContentType.create(AS2MediaType.APPLICATION_EDIFACT, (String) null);
+ String ediMessage = "whatever";
+ ApplicationEDIEntity applicationEDIEntity
+ = EntityUtils.createEDIEntity(ediMessage, ediMessageContentType, null, false, "");
+ String actualContentType = applicationEDIEntity.getContentTypeValue();
+ Assertions.assertEquals("application/edifact", actualContentType, "content type matches");
+ Header[] actualContentDisposition = applicationEDIEntity.getHeaders(AS2Header.CONTENT_DISPOSITION);
+ Assertions.assertEquals(0, actualContentDisposition.length, "no Content-Disposition headers found");
}
}
diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/MicUtilsTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/MicUtilsTest.java
index e3dcc273154f0..e28c85f71415b 100644
--- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/MicUtilsTest.java
+++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/util/MicUtilsTest.java
@@ -93,7 +93,8 @@ public void createReceivedContentMicTest() throws Exception {
request.addHeader(AS2Header.CONTENT_TYPE, CONTENT_TYPE_VALUE);
ApplicationEDIFACTEntity edifactEntity
- = new ApplicationEDIFACTEntity(EDI_MESSAGE, AS2Charset.US_ASCII, AS2TransferEncoding.NONE, true);
+ = new ApplicationEDIFACTEntity(
+ EDI_MESSAGE, AS2Charset.US_ASCII, AS2TransferEncoding.NONE, true, "filename.txt");
InputStream is = edifactEntity.getContent();
BasicHttpEntity basicEntity = new BasicHttpEntity();
basicEntity.setContent(is);
diff --git a/components/camel-as2/camel-as2-component/pom.xml b/components/camel-as2/camel-as2-component/pom.xml
index 6a2185d01d973..90f63d21877a1 100644
--- a/components/camel-as2/camel-as2-component/pom.xml
+++ b/components/camel-as2/camel-as2-component/pom.xml
@@ -117,6 +117,7 @@
signedReceiptMicAlgorithms
encryptingAlgorithm
encryptingCertificateChain
+ attachedFileName
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java
index 38ebb90fe9bff..cbbb73a3f8d10 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java
@@ -16,7 +16,7 @@
*/
@ApiParams(apiName = "client", producerOnly = true,
description = "Sends EDI Messages over HTTP",
- apiMethods = {@ApiMethod(methodName = "send", description="Send ediMessage to trading partner", signatures={"org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain)"})}, aliases = {})
+ apiMethods = {@ApiMethod(methodName = "send", description="Send ediMessage to trading partner", signatures={"org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain, String attachedFileName)"})}, aliases = {})
@UriParams
@Configurer(extended = true)
public final class AS2ClientManagerEndpointConfiguration extends AS2Configuration {
@@ -30,6 +30,9 @@ public final class AS2ClientManagerEndpointConfiguration extends AS2Configuratio
@ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "send", description="AS2 name of recipient")})
private String as2To;
@UriParam
+ @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "send", description="The name of the attached file or null if user doesn't want to specify it")})
+ private String attachedFileName;
+ @UriParam
@ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "send", description="The algorithm used to compress the message or null if sending EDI message uncompressed")})
private org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm;
@UriParam
@@ -39,7 +42,7 @@ public final class AS2ClientManagerEndpointConfiguration extends AS2Configuratio
@ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "send", description="EDI message to transport")})
private String ediMessage;
@UriParam
- @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "send", description="The content typw of EDI message")})
+ @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "send", description="The content type of EDI message")})
private org.apache.http.entity.ContentType ediMessageContentType;
@UriParam
@ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "send", description="The transfer encoding used to transport EDI message")})
@@ -96,6 +99,14 @@ public void setAs2To(String as2To) {
this.as2To = as2To;
}
+ public String getAttachedFileName() {
+ return attachedFileName;
+ }
+
+ public void setAttachedFileName(String attachedFileName) {
+ this.attachedFileName = attachedFileName;
+ }
+
public org.apache.camel.component.as2.api.AS2CompressionAlgorithm getCompressionAlgorithm() {
return compressionAlgorithm;
}
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfigurationConfigurer.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfigurationConfigurer.java
index 2485bc95a8819..f95e136124c31 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfigurationConfigurer.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfigurationConfigurer.java
@@ -25,6 +25,7 @@ public class AS2ClientManagerEndpointConfigurationConfigurer extends org.apache.
map.put("As2MessageStructure", org.apache.camel.component.as2.api.AS2MessageStructure.class);
map.put("As2To", java.lang.String.class);
map.put("As2Version", java.lang.String.class);
+ map.put("AttachedFileName", java.lang.String.class);
map.put("ClientFqdn", java.lang.String.class);
map.put("CompressionAlgorithm", org.apache.camel.component.as2.api.AS2CompressionAlgorithm.class);
map.put("DecryptingPrivateKey", java.security.PrivateKey.class);
@@ -67,6 +68,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
case "As2To": target.setAs2To(property(camelContext, java.lang.String.class, value)); return true;
case "as2version":
case "As2Version": target.setAs2Version(property(camelContext, java.lang.String.class, value)); return true;
+ case "attachedfilename":
+ case "AttachedFileName": target.setAttachedFileName(property(camelContext, java.lang.String.class, value)); return true;
case "clientfqdn":
case "ClientFqdn": target.setClientFqdn(property(camelContext, java.lang.String.class, value)); return true;
case "compressionalgorithm":
@@ -139,6 +142,8 @@ public Class> getOptionType(String name, boolean ignoreCase) {
case "As2To": return java.lang.String.class;
case "as2version":
case "As2Version": return java.lang.String.class;
+ case "attachedfilename":
+ case "AttachedFileName": return java.lang.String.class;
case "clientfqdn":
case "ClientFqdn": return java.lang.String.class;
case "compressionalgorithm":
@@ -207,6 +212,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
case "As2To": return target.getAs2To();
case "as2version":
case "As2Version": return target.getAs2Version();
+ case "attachedfilename":
+ case "AttachedFileName": return target.getAttachedFileName();
case "clientfqdn":
case "ClientFqdn": return target.getClientFqdn();
case "compressionalgorithm":
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ConfigurationConfigurer.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ConfigurationConfigurer.java
index 92edd2ee830bc..7c4f73d613165 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ConfigurationConfigurer.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ConfigurationConfigurer.java
@@ -25,6 +25,7 @@ public class AS2ConfigurationConfigurer extends org.apache.camel.support.compone
map.put("As2MessageStructure", org.apache.camel.component.as2.api.AS2MessageStructure.class);
map.put("As2To", java.lang.String.class);
map.put("As2Version", java.lang.String.class);
+ map.put("AttachedFileName", java.lang.String.class);
map.put("ClientFqdn", java.lang.String.class);
map.put("CompressionAlgorithm", org.apache.camel.component.as2.api.AS2CompressionAlgorithm.class);
map.put("DecryptingPrivateKey", java.security.PrivateKey.class);
@@ -65,6 +66,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
case "As2To": target.setAs2To(property(camelContext, java.lang.String.class, value)); return true;
case "as2version":
case "As2Version": target.setAs2Version(property(camelContext, java.lang.String.class, value)); return true;
+ case "attachedfilename":
+ case "AttachedFileName": target.setAttachedFileName(property(camelContext, java.lang.String.class, value)); return true;
case "clientfqdn":
case "ClientFqdn": target.setClientFqdn(property(camelContext, java.lang.String.class, value)); return true;
case "compressionalgorithm":
@@ -133,6 +136,8 @@ public Class> getOptionType(String name, boolean ignoreCase) {
case "As2To": return java.lang.String.class;
case "as2version":
case "As2Version": return java.lang.String.class;
+ case "attachedfilename":
+ case "AttachedFileName": return java.lang.String.class;
case "clientfqdn":
case "ClientFqdn": return java.lang.String.class;
case "compressionalgorithm":
@@ -197,6 +202,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
case "As2To": return target.getAs2To();
case "as2version":
case "As2Version": return target.getAs2Version();
+ case "attachedfilename":
+ case "AttachedFileName": return target.getAttachedFileName();
case "clientfqdn":
case "ClientFqdn": return target.getClientFqdn();
case "compressionalgorithm":
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java
index 754b82e988d7b..7c4daf407fc6e 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java
@@ -26,6 +26,7 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
map.put("as2MessageStructure", org.apache.camel.component.as2.api.AS2MessageStructure.class);
map.put("as2To", java.lang.String.class);
map.put("as2Version", java.lang.String.class);
+ map.put("attachedFileName", java.lang.String.class);
map.put("clientFqdn", java.lang.String.class);
map.put("compressionAlgorithm", org.apache.camel.component.as2.api.AS2CompressionAlgorithm.class);
map.put("decryptingPrivateKey", java.security.PrivateKey.class);
@@ -67,6 +68,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
case "as2To": target.getConfiguration().setAs2To(property(camelContext, java.lang.String.class, value)); return true;
case "as2version":
case "as2Version": target.getConfiguration().setAs2Version(property(camelContext, java.lang.String.class, value)); return true;
+ case "attachedfilename":
+ case "attachedFileName": target.getConfiguration().setAttachedFileName(property(camelContext, java.lang.String.class, value)); return true;
case "clientfqdn":
case "clientFqdn": target.getConfiguration().setClientFqdn(property(camelContext, java.lang.String.class, value)); return true;
case "compressionalgorithm":
@@ -136,6 +139,8 @@ public Class> getOptionType(String name, boolean ignoreCase) {
case "as2To": return java.lang.String.class;
case "as2version":
case "as2Version": return java.lang.String.class;
+ case "attachedfilename":
+ case "attachedFileName": return java.lang.String.class;
case "clientfqdn":
case "clientFqdn": return java.lang.String.class;
case "compressionalgorithm":
@@ -201,6 +206,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
case "as2To": return target.getConfiguration().getAs2To();
case "as2version":
case "as2Version": return target.getConfiguration().getAs2Version();
+ case "attachedfilename":
+ case "attachedFileName": return target.getConfiguration().getAttachedFileName();
case "clientfqdn":
case "clientFqdn": return target.getConfiguration().getClientFqdn();
case "compressionalgorithm":
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java
index 6adb215f92588..783cecde48ad5 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java
@@ -20,7 +20,7 @@ public class AS2EndpointUriFactory extends org.apache.camel.support.component.En
private static final Set PROPERTY_NAMES;
private static final Set SECRET_PROPERTY_NAMES;
static {
- Set props = new HashSet<>(35);
+ Set props = new HashSet<>(36);
props.add("server");
props.add("apiName");
props.add("as2Version");
@@ -29,6 +29,7 @@ public class AS2EndpointUriFactory extends org.apache.camel.support.component.En
props.add("encryptingCertificateChain");
props.add("subject");
props.add("signingPrivateKey");
+ props.add("attachedFileName");
props.add("signedReceiptMicAlgorithms");
props.add("ediMessage");
props.add("as2To");
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfigurationConfigurer.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfigurationConfigurer.java
index c4168b81abafd..2d29733a06bf7 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfigurationConfigurer.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfigurationConfigurer.java
@@ -25,6 +25,7 @@ public class AS2ServerManagerEndpointConfigurationConfigurer extends org.apache.
map.put("As2MessageStructure", org.apache.camel.component.as2.api.AS2MessageStructure.class);
map.put("As2To", java.lang.String.class);
map.put("As2Version", java.lang.String.class);
+ map.put("AttachedFileName", java.lang.String.class);
map.put("ClientFqdn", java.lang.String.class);
map.put("CompressionAlgorithm", org.apache.camel.component.as2.api.AS2CompressionAlgorithm.class);
map.put("DecryptingPrivateKey", java.security.PrivateKey.class);
@@ -66,6 +67,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
case "As2To": target.setAs2To(property(camelContext, java.lang.String.class, value)); return true;
case "as2version":
case "As2Version": target.setAs2Version(property(camelContext, java.lang.String.class, value)); return true;
+ case "attachedfilename":
+ case "AttachedFileName": target.setAttachedFileName(property(camelContext, java.lang.String.class, value)); return true;
case "clientfqdn":
case "ClientFqdn": target.setClientFqdn(property(camelContext, java.lang.String.class, value)); return true;
case "compressionalgorithm":
@@ -136,6 +139,8 @@ public Class> getOptionType(String name, boolean ignoreCase) {
case "As2To": return java.lang.String.class;
case "as2version":
case "As2Version": return java.lang.String.class;
+ case "attachedfilename":
+ case "AttachedFileName": return java.lang.String.class;
case "clientfqdn":
case "ClientFqdn": return java.lang.String.class;
case "compressionalgorithm":
@@ -202,6 +207,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
case "As2To": return target.getAs2To();
case "as2version":
case "As2Version": return target.getAs2Version();
+ case "attachedfilename":
+ case "AttachedFileName": return target.getAttachedFileName();
case "clientfqdn":
case "ClientFqdn": return target.getClientFqdn();
case "compressionalgorithm":
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
index 880a51dc787d6..a02299f43ca3f 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
@@ -33,7 +33,7 @@ private AS2ApiCollection() {
List nullableArgs;
aliases.clear();
- nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain");
+ nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain", "attachedFileName");
apiHelpers.put(AS2ApiName.CLIENT, new ApiMethodHelper(AS2ClientManagerApiMethod.class, aliases, nullableArgs));
apiMethods.put(AS2ClientManagerApiMethod.class, AS2ApiName.CLIENT);
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ClientManagerApiMethod.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ClientManagerApiMethod.java
index 6020b14644300..715db5ced4b9a 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ClientManagerApiMethod.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ClientManagerApiMethod.java
@@ -39,7 +39,8 @@ public enum AS2ClientManagerApiMethod implements ApiMethod {
arg("dispositionNotificationTo", String.class),
arg("signedReceiptMicAlgorithms", new String[0].getClass()),
arg("encryptingAlgorithm", org.apache.camel.component.as2.api.AS2EncryptionAlgorithm.class),
- arg("encryptingCertificateChain", new java.security.cert.Certificate[0].getClass()));
+ arg("encryptingCertificateChain", new java.security.cert.Certificate[0].getClass()),
+ arg("attachedFileName", String.class));
private final ApiMethod apiMethod;
diff --git a/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json b/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json
index 5cd47572b67ea..6792dccce940e 100644
--- a/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json
+++ b/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json
@@ -36,6 +36,7 @@
"as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2MessageStructure", "enum": [ "PLAIN", "SIGNED", "ENCRYPTED", "SIGNED_ENCRYPTED", "PLAIN_COMPRESSED", "SIGNED_COMPRESSED", "ENCRYPTED_COMPRESSED", "ENCRYPTED_COMPRESSED_SIGNED" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.as2.AS2Configuration", "configurationField": "configuration", "description": "The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature" },
"as2To": { "kind": "parameter", "displayName": "As2 To", "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 AS2To header of AS2 message." },
"as2Version": { "kind": "parameter", "displayName": "As2 Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "1.0", "1.1" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1.1", "configurationClass": "org.apache.camel.component.as2.AS2Configuration", "configurationField": "configuration", "description": "The version of the AS2 protocol." },
+ "attachedFileName": { "kind": "parameter", "displayName": "Attached File Name", "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 name of the attached file" },
"clientFqdn": { "kind": "parameter", "displayName": "Client 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 Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint." },
"compressionAlgorithm": { "kind": "parameter", "displayName": "Compression Algorithm", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2CompressionAlgorithm", "enum": [ "ZLIB" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.as2.AS2Configuration", "configurationField": "configuration", "description": "The algorithm used to compress EDI message." },
"decryptingPrivateKey": { "kind": "parameter", "displayName": "Decrypting Private Key", "group": "common", "label": "", "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." },
@@ -64,11 +65,11 @@
"lazyStartProducer": { "kind": "parameter", "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 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 producer may take a little time and prolong the total processing time of the processing." }
},
"apis": {
- "client": { "consumerOnly": false, "producerOnly": true, "description": "Sends EDI Messages over HTTP", "methods": { "send": { "description": "Send ediMessage to trading partner", "signatures": [ "org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain)" ] } } },
+ "client": { "consumerOnly": false, "producerOnly": true, "description": "Sends EDI Messages over HTTP", "methods": { "send": { "description": "Send ediMessage to trading partner", "signatures": [ "org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain, String attachedFileName)" ] } } },
"server": { "consumerOnly": true, "producerOnly": false, "description": "Receives EDI Messages over HTTP", "methods": { "listen": { "description": "", "signatures": [ "void listen(String requestUriPattern, org.apache.http.protocol.HttpRequestHandler handler)" ] } } }
},
"apiProperties": {
- "client": { "methods": { "send": { "properties": { "as2From": { "kind": "parameter", "displayName": "As2 From", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "AS2 name of sender", "optional": false }, "as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2MessageStructure", "enum": [ "PLAIN", "SIGNED", "ENCRYPTED", "SIGNED_ENCRYPTED", "PLAIN_COMPRESSED", "SIGNED_COMPRESSED", "ENCRYPTED_COMPRESSED", "ENCRYPTED_COMPRESSED_SIGNED" ], "deprecated": false, "autowired": false, "secret": false, "description": "The structure of AS2 to send; see AS2MessageStructure", "optional": false }, "as2To": { "kind": "parameter", "displayName": "As2 To", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "AS2 name of recipient", "optional": false }, "compressionAlgorithm": { "kind": "parameter", "displayName": "Compression Algorithm", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2CompressionAlgorithm", "enum": [ "ZLIB" ], "deprecated": false, "autowired": false, "secret": false, "description": "The algorithm used to compress the message or null if sending EDI message uncompressed", "optional": true }, "dispositionNotificationTo": { "kind": "parameter", "displayName": "Disposition Notification To", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "An RFC2822 address to request a receipt or null if no receipt requested", "optional": true }, "ediMessage": { "kind": "parameter", "displayName": "Edi Message", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "EDI message to transport", "optional": false }, "ediMessageContentType": { "kind": "parameter", "displayName": "Edi Message Content Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.http.entity.ContentType", "deprecated": false, "autowired": false, "secret": false, "description": "The content typw of EDI message", "optional": false }, "ediMessageTransferEncoding": { "kind": "parameter", "displayName": "Edi Message Transfer Encoding", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The transfer encoding used to transport EDI message", "optional": true }, "encryptingAlgorithm": { "kind": "parameter", "displayName": "Encrypting Algorithm", "group": "producer", "label": "", "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", "GOST28147_GCFB", "IDEA_CBC", "RC2_CBC", "RC4", "SEED_CBC" ], "deprecated": false, "autowired": false, "secret": false, "description": "The algorithm used to encrypt the message or null if sending EDI message unencrypted", "optional": true }, "encryptingCertificateChain": { "kind": "parameter", "displayName": "Encrypting Certificate Chain", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.security.cert.Certificate[]", "deprecated": false, "autowired": false, "secret": false, "description": "The chain of certificates used to encrypt the message or null if sending EDI message unencrypted", "optional": true }, "from": { "kind": "parameter", "displayName": "From", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "RFC2822 address of sender", "optional": false }, "requestUri": { "kind": "parameter", "displayName": "Request Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Resource location to deliver message", "optional": false }, "signedReceiptMicAlgorithms": { "kind": "parameter", "displayName": "Signed Receipt Mic Algorithms", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.lang.String[]", "deprecated": false, "autowired": false, "secret": false, "description": "The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt.", "optional": true }, "signingAlgorithm": { "kind": "parameter", "displayName": "Signing Algorithm", "group": "producer", "label": "", "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", "RIPEMD256WITHRSA", "SHA224WITHDSA", "SHA256WITHDSA", "SHA384WITHDSA", "SHA512WITHDSA", "SHA3_224WITHDSA", "SHA3_256WITHDSA", "SHA3_384WITHDSA", "SHA3_512WITHDSA", "SHA1WITHDSA", "SHA3_224WITHECDSA", "SHA3_256WITHECDSA", "SHA3_384WITHECDSA", "SHA3_512WITHECDSA", "SHA1WITHECDSA", "SHA224WITHECDSA", "SHA256WITHECDSA", "SHA384WITHECDSA", "SHA512WITHECDSA", "SHA1WITHPLAIN_ECDSA", "SHA224WITHPLAIN_ECDSA", "SHA256WITHPLAIN_ECDSA", "SHA384WITHPLAIN_ECDSA", "SHA512WITHPLAIN_ECDSA", "RIPEMD160WITHPLAIN_ECDSA", "SHA1WITHRSAANDMGF1", "SHA224WITHRSAANDMGF1", "SHA256WITHRSAANDMGF1", "SHA384WITHRSAANDMGF1", "SHA512WITHRSAANDMGF1", "SHA3_224WITHRSAANDMGF1", "SHA3_256WITHRSAANDMGF1", "SHA3_384WITHRSAANDMGF1", "SHA3_512WITHRSAANDMGF1" ], "deprecated": false, "autowired": false, "secret": false, "description": "The algorithm used to sign the message or null if sending EDI message unsigned", "optional": true }, "signingCertificateChain": { "kind": "parameter", "displayName": "Signing Certificate Chain", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.security.cert.Certificate[]", "deprecated": false, "autowired": false, "secret": false, "description": "The chain of certificates used to sign the message or null if sending EDI message unsigned", "optional": true }, "signingPrivateKey": { "kind": "parameter", "displayName": "Signing Private Key", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": false, "description": "The private key used to sign EDI message", "optional": true }, "subject": { "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Message subject", "optional": false } } } } },
+ "client": { "methods": { "send": { "properties": { "as2From": { "kind": "parameter", "displayName": "As2 From", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "AS2 name of sender", "optional": false }, "as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2MessageStructure", "enum": [ "PLAIN", "SIGNED", "ENCRYPTED", "SIGNED_ENCRYPTED", "PLAIN_COMPRESSED", "SIGNED_COMPRESSED", "ENCRYPTED_COMPRESSED", "ENCRYPTED_COMPRESSED_SIGNED" ], "deprecated": false, "autowired": false, "secret": false, "description": "The structure of AS2 to send; see AS2MessageStructure", "optional": false }, "as2To": { "kind": "parameter", "displayName": "As2 To", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "AS2 name of recipient", "optional": false }, "attachedFileName": { "kind": "parameter", "displayName": "Attached File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the attached file or null if user doesn't want to specify it", "optional": true }, "compressionAlgorithm": { "kind": "parameter", "displayName": "Compression Algorithm", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2CompressionAlgorithm", "enum": [ "ZLIB" ], "deprecated": false, "autowired": false, "secret": false, "description": "The algorithm used to compress the message or null if sending EDI message uncompressed", "optional": true }, "dispositionNotificationTo": { "kind": "parameter", "displayName": "Disposition Notification To", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "An RFC2822 address to request a receipt or null if no receipt requested", "optional": true }, "ediMessage": { "kind": "parameter", "displayName": "Edi Message", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "EDI message to transport", "optional": false }, "ediMessageContentType": { "kind": "parameter", "displayName": "Edi Message Content Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.http.entity.ContentType", "deprecated": false, "autowired": false, "secret": false, "description": "The content type of EDI message", "optional": false }, "ediMessageTransferEncoding": { "kind": "parameter", "displayName": "Edi Message Transfer Encoding", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The transfer encoding used to transport EDI message", "optional": true }, "encryptingAlgorithm": { "kind": "parameter", "displayName": "Encrypting Algorithm", "group": "producer", "label": "", "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", "GOST28147_GCFB", "IDEA_CBC", "RC2_CBC", "RC4", "SEED_CBC" ], "deprecated": false, "autowired": false, "secret": false, "description": "The algorithm used to encrypt the message or null if sending EDI message unencrypted", "optional": true }, "encryptingCertificateChain": { "kind": "parameter", "displayName": "Encrypting Certificate Chain", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.security.cert.Certificate[]", "deprecated": false, "autowired": false, "secret": false, "description": "The chain of certificates used to encrypt the message or null if sending EDI message unencrypted", "optional": true }, "from": { "kind": "parameter", "displayName": "From", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "RFC2822 address of sender", "optional": false }, "requestUri": { "kind": "parameter", "displayName": "Request Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Resource location to deliver message", "optional": false }, "signedReceiptMicAlgorithms": { "kind": "parameter", "displayName": "Signed Receipt Mic Algorithms", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.lang.String[]", "deprecated": false, "autowired": false, "secret": false, "description": "The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt.", "optional": true }, "signingAlgorithm": { "kind": "parameter", "displayName": "Signing Algorithm", "group": "producer", "label": "", "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", "RIPEMD256WITHRSA", "SHA224WITHDSA", "SHA256WITHDSA", "SHA384WITHDSA", "SHA512WITHDSA", "SHA3_224WITHDSA", "SHA3_256WITHDSA", "SHA3_384WITHDSA", "SHA3_512WITHDSA", "SHA1WITHDSA", "SHA3_224WITHECDSA", "SHA3_256WITHECDSA", "SHA3_384WITHECDSA", "SHA3_512WITHECDSA", "SHA1WITHECDSA", "SHA224WITHECDSA", "SHA256WITHECDSA", "SHA384WITHECDSA", "SHA512WITHECDSA", "SHA1WITHPLAIN_ECDSA", "SHA224WITHPLAIN_ECDSA", "SHA256WITHPLAIN_ECDSA", "SHA384WITHPLAIN_ECDSA", "SHA512WITHPLAIN_ECDSA", "RIPEMD160WITHPLAIN_ECDSA", "SHA1WITHRSAANDMGF1", "SHA224WITHRSAANDMGF1", "SHA256WITHRSAANDMGF1", "SHA384WITHRSAANDMGF1", "SHA512WITHRSAANDMGF1", "SHA3_224WITHRSAANDMGF1", "SHA3_256WITHRSAANDMGF1", "SHA3_384WITHRSAANDMGF1", "SHA3_512WITHRSAANDMGF1" ], "deprecated": false, "autowired": false, "secret": false, "description": "The algorithm used to sign the message or null if sending EDI message unsigned", "optional": true }, "signingCertificateChain": { "kind": "parameter", "displayName": "Signing Certificate Chain", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.security.cert.Certificate[]", "deprecated": false, "autowired": false, "secret": false, "description": "The chain of certificates used to sign the message or null if sending EDI message unsigned", "optional": true }, "signingPrivateKey": { "kind": "parameter", "displayName": "Signing Private Key", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": false, "description": "The private key used to sign EDI message", "optional": true }, "subject": { "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Message subject", "optional": false } } } } },
"server": { "methods": { "listen": { "properties": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "", "optional": false } } } } }
}
}
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index d446898b39922..0c2b86b764a6d 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -116,7 +116,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (30 parameters):
+=== Query Parameters (31 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -126,6 +126,7 @@ with the following path and query parameters:
| *as2MessageStructure* (common) | The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature. There are 8 enums and the value can be one of: PLAIN, SIGNED, ENCRYPTED, SIGNED_ENCRYPTED, PLAIN_COMPRESSED, SIGNED_COMPRESSED, ENCRYPTED_COMPRESSED, ENCRYPTED_COMPRESSED_SIGNED | | AS2MessageStructure
| *as2To* (common) | The value of the AS2To header of AS2 message. | | String
| *as2Version* (common) | The version of the AS2 protocol. There are 2 enums and the value can be one of: 1.0, 1.1 | 1.1 | String
+| *attachedFileName* (common) | The name of the attached file | | String
| *clientFqdn* (common) | The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
| *compressionAlgorithm* (common) | The algorithm used to compress EDI message. There are 1 enums and the value can be one of: ZLIB | | AS2CompressionAlgorithm
| *decryptingPrivateKey* (common) | The key used to encrypt the EDI message. | | PrivateKey
@@ -191,7 +192,7 @@ The client API has 1 method(s) which is represented by the following method sign
[source,java]
----
-org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain);
+org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain, String attachedFileName);
----
@@ -217,10 +218,11 @@ The client API method(s) has the following set of parameters listed in the table
| send | *as2From* | AS2 name of sender | String
| send | *as2MessageStructure* | The structure of AS2 to send; see AS2MessageStructure | AS2MessageStructure
| send | *as2To* | AS2 name of recipient | String
+| send | *attachedFileName* | *Optional* The name of the attached file or null if user doesn't want to specify it | String
| send | *compressionAlgorithm* | *Optional* The algorithm used to compress the message or null if sending EDI message uncompressed | AS2CompressionAlgorithm
| send | *dispositionNotificationTo* | *Optional* An RFC2822 address to request a receipt or null if no receipt requested | String
| send | *ediMessage* | EDI message to transport | String
-| send | *ediMessageContentType* | The content typw of EDI message | ContentType
+| send | *ediMessageContentType* | The content type of EDI message | ContentType
| send | *ediMessageTransferEncoding* | *Optional* The transfer encoding used to transport EDI message | String
| send | *encryptingAlgorithm* | *Optional* The algorithm used to encrypt the message or null if sending EDI message unencrypted | AS2EncryptionAlgorithm
| send | *encryptingCertificateChain* | *Optional* The chain of certificates used to encrypt the message or null if sending EDI message unencrypted | Certificate[]
@@ -233,7 +235,7 @@ The client API method(s) has the following set of parameters listed in the table
| send | *subject* | Message subject | String
|===
-In addition to the parameters above, the client API can also use from the 30 endpoint query option
+In addition to the parameters above, the client API can also use from the 31 endpoint query option
which is listed in the _Query Parameters_ section.
Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -282,7 +284,7 @@ The server API method(s) has the following set of parameters listed in the table
| listen | *requestUriPattern* | | String
|===
-In addition to the parameters above, the server API can also use from the 30 endpoint query option
+In addition to the parameters above, the server API can also use from the 31 endpoint query option
which is listed in the _Query Parameters_ section.
Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
index 093f09b4e870f..469c75531291c 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
@@ -97,6 +97,8 @@ public class AS2Configuration {
private PrivateKey decryptingPrivateKey;
@UriParam
private String mdnMessageTemplate;
+ @UriParam
+ private String attachedFileName;
public AS2ApiName getApiName() {
return apiName;
@@ -424,4 +426,14 @@ public void setMdnMessageTemplate(String mdnMessageTemplate) {
this.mdnMessageTemplate = mdnMessageTemplate;
}
+ public String getAttachedFileName() {
+ return attachedFileName;
+ }
+
+ /**
+ * The name of the attached file
+ */
+ public void setAttachedFileName(String attachedFileName) {
+ this.attachedFileName = attachedFileName;
+ }
}
diff --git a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ClientManagerIT.java b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ClientManagerIT.java
index 987a62441a9da..c9d97cb64480b 100644
--- a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ClientManagerIT.java
+++ b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ClientManagerIT.java
@@ -117,6 +117,7 @@ public class AS2ClientManagerIT extends AbstractAS2ITSupport {
private static final String SUBJECT = "Test Case";
private static final String AS2_NAME = "878051556";
private static final String FROM = "mrAS@example.org";
+ private static final String ATTACHED_FILE_NAME = "filename.txt";
private static final String MDN_FROM = "as2Test@server.example.com";
private static final String MDN_SUBJECT_PREFIX = "MDN Response:";
@@ -241,6 +242,8 @@ public void plainMessageSendTest() throws Exception {
headers.put("CamelAS2.ediMessageTransferEncoding", EDI_MESSAGE_CONTENT_TRANSFER_ENCODING);
// parameter type is String
headers.put("CamelAS2.dispositionNotificationTo", "mrAS2@example.com");
+ // parameter type is String
+ headers.put("CamelAS2.attachedFileName", "");
final Triple result = executeRequest(headers);
HttpEntity responseEntity = result.getLeft();
@@ -326,6 +329,8 @@ public void envelopedMessageSendTest() throws Exception {
headers.put("CamelAS2.encryptingAlgorithm", AS2EncryptionAlgorithm.AES128_CBC);
// parameter type is java.security.cert.Certificate[]
headers.put("CamelAS2.encryptingCertificateChain", certList);
+ // parameter type is String
+ headers.put("CamelAS2.attachedFileName", "");
final Triple result = executeRequest(headers);
HttpEntity responseEntity = result.getLeft();
@@ -420,6 +425,8 @@ public void multipartSignedMessageTest() throws Exception {
headers.put("CamelAS2.dispositionNotificationTo", "mrAS2@example.com");
// parameter type is String[]
headers.put("CamelAS2.signedReceiptMicAlgorithms", SIGNED_RECEIPT_MIC_ALGORITHMS);
+ // parameter type is String
+ headers.put("CamelAS2.attachedFileName", "");
final Triple result = executeRequest(headers);
HttpEntity responseEntity = result.getLeft();
@@ -522,6 +529,8 @@ public void compressedMessageTest() throws Exception {
headers.put("CamelAS2.dispositionNotificationTo", "mrAS2@example.com");
// parameter type is String[]
headers.put("CamelAS2.signedReceiptMicAlgorithms", SIGNED_RECEIPT_MIC_ALGORITHMS);
+ // parameter type is String
+ headers.put("CamelAS2.attachedFileName", "");
final Triple result = executeRequest(headers);
HttpEntity responseEntity = result.getLeft();
@@ -607,7 +616,7 @@ public void asyncMDNTest() throws Exception {
// Create plain edi request message to acknowledge
ApplicationEDIEntity ediEntity = EntityUtils.createEDIEntity(EDI_MESSAGE,
- ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, false);
+ ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, false, ATTACHED_FILE_NAME);
HttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("POST", REQUEST_URI);
HttpMessageUtils.setHeaderValue(request, AS2Header.SUBJECT, SUBJECT);
String httpdate = DATE_GENERATOR.getCurrentDate();
diff --git a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java
index 6c1a1b1c44374..b3721014b915e 100644
--- a/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java
+++ b/components/camel-as2/camel-as2-component/src/test/java/org/apache/camel/component/as2/AS2ServerManagerIT.java
@@ -154,7 +154,7 @@ public void receivePlainEDIMessageTest() throws Exception {
clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME, AS2MessageStructure.PLAIN,
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, null, null, null,
- null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null, null);
MockEndpoint mockEndpoint = getMockEndpoint("mock:as2RcvMsgs");
mockEndpoint.expectedMinimumMessageCount(1);
@@ -219,7 +219,7 @@ public void receiveMultipartSignedMessageTest() throws Exception {
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null,
AS2SignatureAlgorithm.SHA256WITHRSA,
certList.toArray(new Certificate[0]), signingKP.getPrivate(), null, DISPOSITION_NOTIFICATION_TO,
- SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ SIGNED_RECEIPT_MIC_ALGORITHMS, null, null, null);
MockEndpoint mockEndpoint = getMockEndpoint("mock:as2RcvMsgs");
mockEndpoint.expectedMinimumMessageCount(1);
@@ -296,7 +296,7 @@ public void receiveEnvelopedMessageTest() throws Exception {
clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME, AS2MessageStructure.ENCRYPTED,
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, null, null, null,
null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, AS2EncryptionAlgorithm.AES128_CBC,
- certList.toArray(new Certificate[0]));
+ certList.toArray(new Certificate[0]), null);
MockEndpoint mockEndpoint = getMockEndpoint("mock:as2RcvMsgs");
mockEndpoint.expectedMinimumMessageCount(1);
@@ -364,7 +364,7 @@ public void sendEditMessageToFailingProcessorTest() throws Exception {
HttpCoreContext context = clientManager.send(EDI_MESSAGE, "/process_error", SUBJECT, FROM, AS2_NAME, AS2_NAME,
AS2MessageStructure.PLAIN,
ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, null, null, null,
- null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+ null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS, null, null, null);
MockEndpoint mockEndpoint = getMockEndpoint("mock:as2RcvMsgs");
mockEndpoint.expectedMinimumMessageCount(0);
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 521b8f7563967..fb84e4c1e5afd 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -28,13 +28,11 @@
@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
public interface EndpointBuilderFactory
extends
- org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory.AMQPBuilders,
- org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory.AS2Builders,
- org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory.AWS2EC2Builders,
- org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory.AWS2S3Builders,
org.apache.camel.builder.endpoint.dsl.ActiveMQEndpointBuilderFactory.ActiveMQBuilders,
org.apache.camel.builder.endpoint.dsl.AhcEndpointBuilderFactory.AhcBuilders,
+ org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory.AMQPBuilders,
org.apache.camel.builder.endpoint.dsl.ArangoDbEndpointBuilderFactory.ArangoDbBuilders,
+ org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory.AS2Builders,
org.apache.camel.builder.endpoint.dsl.AsteriskEndpointBuilderFactory.AsteriskBuilders,
org.apache.camel.builder.endpoint.dsl.Athena2EndpointBuilderFactory.Athena2Builders,
org.apache.camel.builder.endpoint.dsl.AtlasMapEndpointBuilderFactory.AtlasMapBuilders,
@@ -48,16 +46,16 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.AtomixSetEndpointBuilderFactory.AtomixSetBuilders,
org.apache.camel.builder.endpoint.dsl.AtomixValueEndpointBuilderFactory.AtomixValueBuilders,
org.apache.camel.builder.endpoint.dsl.AvroEndpointBuilderFactory.AvroBuilders,
+ org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory.AWS2EC2Builders,
+ org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory.AWS2S3Builders,
org.apache.camel.builder.endpoint.dsl.BeanEndpointBuilderFactory.BeanBuilders,
- org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory.BeanValidatorBuilders,
org.apache.camel.builder.endpoint.dsl.BeanstalkEndpointBuilderFactory.BeanstalkBuilders,
+ org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory.BeanValidatorBuilders,
org.apache.camel.builder.endpoint.dsl.BlobEndpointBuilderFactory.BlobBuilders,
org.apache.camel.builder.endpoint.dsl.BonitaEndpointBuilderFactory.BonitaBuilders,
org.apache.camel.builder.endpoint.dsl.BoxEndpointBuilderFactory.BoxBuilders,
org.apache.camel.builder.endpoint.dsl.BraintreeEndpointBuilderFactory.BraintreeBuilders,
org.apache.camel.builder.endpoint.dsl.BrowseEndpointBuilderFactory.BrowseBuilders,
- org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory.CMBuilders,
- org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory.CMISBuilders,
org.apache.camel.builder.endpoint.dsl.CaffeineCacheEndpointBuilderFactory.CaffeineCacheBuilders,
org.apache.camel.builder.endpoint.dsl.CaffeineLoadCacheEndpointBuilderFactory.CaffeineLoadCacheBuilders,
org.apache.camel.builder.endpoint.dsl.CassandraEndpointBuilderFactory.CassandraBuilders,
@@ -66,20 +64,20 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.CinderEndpointBuilderFactory.CinderBuilders,
org.apache.camel.builder.endpoint.dsl.ClassEndpointBuilderFactory.ClassBuilders,
org.apache.camel.builder.endpoint.dsl.ClientEndpointBuilderFactory.ClientBuilders,
+ org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory.CMBuilders,
+ org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory.CMISBuilders,
org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.CoAPBuilders,
org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.CometdBuilders,
org.apache.camel.builder.endpoint.dsl.ConsulEndpointBuilderFactory.ConsulBuilders,
org.apache.camel.builder.endpoint.dsl.ControlBusEndpointBuilderFactory.ControlBusBuilders,
org.apache.camel.builder.endpoint.dsl.CordaEndpointBuilderFactory.CordaBuilders,
org.apache.camel.builder.endpoint.dsl.CosmosDbEndpointBuilderFactory.CosmosDbBuilders,
- org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory.CouchDbBuilders,
org.apache.camel.builder.endpoint.dsl.CouchbaseEndpointBuilderFactory.CouchbaseBuilders,
+ org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory.CouchDbBuilders,
org.apache.camel.builder.endpoint.dsl.CronEndpointBuilderFactory.CronBuilders,
org.apache.camel.builder.endpoint.dsl.Cw2EndpointBuilderFactory.Cw2Builders,
org.apache.camel.builder.endpoint.dsl.CxfEndpointBuilderFactory.CxfBuilders,
org.apache.camel.builder.endpoint.dsl.CxfRsEndpointBuilderFactory.CxfRsBuilders,
- org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory.DJLBuilders,
- org.apache.camel.builder.endpoint.dsl.DMSEndpointBuilderFactory.DMSBuilders,
org.apache.camel.builder.endpoint.dsl.DataFormatEndpointBuilderFactory.DataFormatBuilders,
org.apache.camel.builder.endpoint.dsl.DataLakeEndpointBuilderFactory.DataLakeBuilders,
org.apache.camel.builder.endpoint.dsl.DataSetEndpointBuilderFactory.DataSetBuilders,
@@ -96,22 +94,24 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.DirectVmEndpointBuilderFactory.DirectVmBuilders,
org.apache.camel.builder.endpoint.dsl.DisruptorEndpointBuilderFactory.DisruptorBuilders,
org.apache.camel.builder.endpoint.dsl.DisruptorVmEndpointBuilderFactory.DisruptorVmBuilders,
+ org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory.DJLBuilders,
+ org.apache.camel.builder.endpoint.dsl.DMSEndpointBuilderFactory.DMSBuilders,
org.apache.camel.builder.endpoint.dsl.DnsEndpointBuilderFactory.DnsBuilders,
org.apache.camel.builder.endpoint.dsl.DockerEndpointBuilderFactory.DockerBuilders,
org.apache.camel.builder.endpoint.dsl.DozerEndpointBuilderFactory.DozerBuilders,
org.apache.camel.builder.endpoint.dsl.DrillEndpointBuilderFactory.DrillBuilders,
org.apache.camel.builder.endpoint.dsl.DropboxEndpointBuilderFactory.DropboxBuilders,
org.apache.camel.builder.endpoint.dsl.ECS2EndpointBuilderFactory.ECS2Builders,
- org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory.EKS2Builders,
org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory.EhcacheBuilders,
+ org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory.EKS2Builders,
org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory.ElasticsearchBuilders,
org.apache.camel.builder.endpoint.dsl.ElsqlEndpointBuilderFactory.ElsqlBuilders,
org.apache.camel.builder.endpoint.dsl.EtcdKeysEndpointBuilderFactory.EtcdKeysBuilders,
org.apache.camel.builder.endpoint.dsl.EtcdStatsEndpointBuilderFactory.EtcdStatsBuilders,
org.apache.camel.builder.endpoint.dsl.EtcdWatchEndpointBuilderFactory.EtcdWatchBuilders,
+ org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeBuilders,
org.apache.camel.builder.endpoint.dsl.EventEndpointBuilderFactory.EventBuilders,
org.apache.camel.builder.endpoint.dsl.EventHubsEndpointBuilderFactory.EventHubsBuilders,
- org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeBuilders,
org.apache.camel.builder.endpoint.dsl.ExecEndpointBuilderFactory.ExecBuilders,
org.apache.camel.builder.endpoint.dsl.FacebookEndpointBuilderFactory.FacebookBuilders,
org.apache.camel.builder.endpoint.dsl.FhirEndpointBuilderFactory.FhirBuilders,
@@ -147,7 +147,6 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.GridFsEndpointBuilderFactory.GridFsBuilders,
org.apache.camel.builder.endpoint.dsl.GrpcEndpointBuilderFactory.GrpcBuilders,
org.apache.camel.builder.endpoint.dsl.GuavaEventBusEndpointBuilderFactory.GuavaEventBusBuilders,
- org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory.HBaseBuilders,
org.apache.camel.builder.endpoint.dsl.HazelcastAtomicnumberEndpointBuilderFactory.HazelcastAtomicnumberBuilders,
org.apache.camel.builder.endpoint.dsl.HazelcastInstanceEndpointBuilderFactory.HazelcastInstanceBuilders,
org.apache.camel.builder.endpoint.dsl.HazelcastListEndpointBuilderFactory.HazelcastListBuilders,
@@ -159,12 +158,11 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.HazelcastSedaEndpointBuilderFactory.HazelcastSedaBuilders,
org.apache.camel.builder.endpoint.dsl.HazelcastSetEndpointBuilderFactory.HazelcastSetBuilders,
org.apache.camel.builder.endpoint.dsl.HazelcastTopicEndpointBuilderFactory.HazelcastTopicBuilders,
+ org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory.HBaseBuilders,
org.apache.camel.builder.endpoint.dsl.HdfsEndpointBuilderFactory.HdfsBuilders,
org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.HttpBuilders,
org.apache.camel.builder.endpoint.dsl.IAM2EndpointBuilderFactory.IAM2Builders,
org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory.IAMBuilders,
- org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory.IOTABuilders,
- org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory.IPFSBuilders,
org.apache.camel.builder.endpoint.dsl.IgniteCacheEndpointBuilderFactory.IgniteCacheBuilders,
org.apache.camel.builder.endpoint.dsl.IgniteComputeEndpointBuilderFactory.IgniteComputeBuilders,
org.apache.camel.builder.endpoint.dsl.IgniteEventsEndpointBuilderFactory.IgniteEventsBuilders,
@@ -175,35 +173,37 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.InfinispanEmbeddedEndpointBuilderFactory.InfinispanEmbeddedBuilders,
org.apache.camel.builder.endpoint.dsl.InfinispanRemoteEndpointBuilderFactory.InfinispanRemoteBuilders,
org.apache.camel.builder.endpoint.dsl.InfluxDbEndpointBuilderFactory.InfluxDbBuilders,
+ org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory.IOTABuilders,
+ org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory.IPFSBuilders,
org.apache.camel.builder.endpoint.dsl.IrcEndpointBuilderFactory.IrcBuilders,
org.apache.camel.builder.endpoint.dsl.IronMQEndpointBuilderFactory.IronMQBuilders,
org.apache.camel.builder.endpoint.dsl.JBPMEndpointBuilderFactory.JBPMBuilders,
org.apache.camel.builder.endpoint.dsl.JCacheEndpointBuilderFactory.JCacheBuilders,
- org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory.JGroupsBuilders,
- org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory.JGroupsRaftBuilders,
- org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory.JMXBuilders,
- org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketBuilders,
org.apache.camel.builder.endpoint.dsl.JcloudsEndpointBuilderFactory.JcloudsBuilders,
org.apache.camel.builder.endpoint.dsl.JcrEndpointBuilderFactory.JcrBuilders,
org.apache.camel.builder.endpoint.dsl.JdbcEndpointBuilderFactory.JdbcBuilders,
org.apache.camel.builder.endpoint.dsl.JettyHttpEndpointBuilderFactory.JettyHttpBuilders,
+ org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory.JGroupsBuilders,
+ org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory.JGroupsRaftBuilders,
org.apache.camel.builder.endpoint.dsl.JingEndpointBuilderFactory.JingBuilders,
org.apache.camel.builder.endpoint.dsl.JiraEndpointBuilderFactory.JiraBuilders,
org.apache.camel.builder.endpoint.dsl.JmsEndpointBuilderFactory.JmsBuilders,
+ org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory.JMXBuilders,
org.apache.camel.builder.endpoint.dsl.JoltEndpointBuilderFactory.JoltBuilders,
org.apache.camel.builder.endpoint.dsl.JooqEndpointBuilderFactory.JooqBuilders,
org.apache.camel.builder.endpoint.dsl.JpaEndpointBuilderFactory.JpaBuilders,
org.apache.camel.builder.endpoint.dsl.JsltEndpointBuilderFactory.JsltBuilders,
- org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory.JsonValidatorBuilders,
org.apache.camel.builder.endpoint.dsl.JsonataEndpointBuilderFactory.JsonataBuilders,
+ org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory.JsonValidatorBuilders,
+ org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketBuilders,
org.apache.camel.builder.endpoint.dsl.Jt400EndpointBuilderFactory.Jt400Builders,
- org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory.KMS2Builders,
org.apache.camel.builder.endpoint.dsl.KafkaEndpointBuilderFactory.KafkaBuilders,
org.apache.camel.builder.endpoint.dsl.KameletEndpointBuilderFactory.KameletBuilders,
org.apache.camel.builder.endpoint.dsl.KameletReifyEndpointBuilderFactory.KameletReifyBuilders,
org.apache.camel.builder.endpoint.dsl.KeystoneEndpointBuilderFactory.KeystoneBuilders,
org.apache.camel.builder.endpoint.dsl.Kinesis2EndpointBuilderFactory.Kinesis2Builders,
org.apache.camel.builder.endpoint.dsl.KinesisFirehose2EndpointBuilderFactory.KinesisFirehose2Builders,
+ org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory.KMS2Builders,
org.apache.camel.builder.endpoint.dsl.KubernetesConfigMapsEndpointBuilderFactory.KubernetesConfigMapsBuilders,
org.apache.camel.builder.endpoint.dsl.KubernetesCustomResourcesEndpointBuilderFactory.KubernetesCustomResourcesBuilders,
org.apache.camel.builder.endpoint.dsl.KubernetesDeploymentsEndpointBuilderFactory.KubernetesDeploymentsBuilders,
@@ -227,13 +227,11 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.LogEndpointBuilderFactory.LogBuilders,
org.apache.camel.builder.endpoint.dsl.LuceneEndpointBuilderFactory.LuceneBuilders,
org.apache.camel.builder.endpoint.dsl.LumberjackEndpointBuilderFactory.LumberjackBuilders,
- org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory.MQ2Builders,
- org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory.MSK2Builders,
org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailBuilders,
org.apache.camel.builder.endpoint.dsl.MasterEndpointBuilderFactory.MasterBuilders,
org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory.MetricsBuilders,
- org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory.MicroProfileMetricsBuilders,
org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory.MicrometerBuilders,
+ org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory.MicroProfileMetricsBuilders,
org.apache.camel.builder.endpoint.dsl.MiloClientEndpointBuilderFactory.MiloClientBuilders,
org.apache.camel.builder.endpoint.dsl.MiloServerEndpointBuilderFactory.MiloServerBuilders,
org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory.MinaBuilders,
@@ -241,6 +239,8 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.MllpEndpointBuilderFactory.MllpBuilders,
org.apache.camel.builder.endpoint.dsl.MockEndpointBuilderFactory.MockBuilders,
org.apache.camel.builder.endpoint.dsl.MongoDbEndpointBuilderFactory.MongoDbBuilders,
+ org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory.MQ2Builders,
+ org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory.MSK2Builders,
org.apache.camel.builder.endpoint.dsl.MsvEndpointBuilderFactory.MsvBuilders,
org.apache.camel.builder.endpoint.dsl.MustacheEndpointBuilderFactory.MustacheBuilders,
org.apache.camel.builder.endpoint.dsl.MvelEndpointBuilderFactory.MvelBuilders,
@@ -248,9 +248,9 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.MyBatisEndpointBuilderFactory.MyBatisBuilders,
org.apache.camel.builder.endpoint.dsl.NagiosEndpointBuilderFactory.NagiosBuilders,
org.apache.camel.builder.endpoint.dsl.NatsEndpointBuilderFactory.NatsBuilders,
- org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory.NetWeaverBuilders,
org.apache.camel.builder.endpoint.dsl.NettyEndpointBuilderFactory.NettyBuilders,
org.apache.camel.builder.endpoint.dsl.NettyHttpEndpointBuilderFactory.NettyHttpBuilders,
+ org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory.NetWeaverBuilders,
org.apache.camel.builder.endpoint.dsl.NeutronEndpointBuilderFactory.NeutronBuilders,
org.apache.camel.builder.endpoint.dsl.NitriteEndpointBuilderFactory.NitriteBuilders,
org.apache.camel.builder.endpoint.dsl.NovaEndpointBuilderFactory.NovaBuilders,
@@ -279,13 +279,12 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.RedisEndpointBuilderFactory.RedisBuilders,
org.apache.camel.builder.endpoint.dsl.RefEndpointBuilderFactory.RefBuilders,
org.apache.camel.builder.endpoint.dsl.RestApiEndpointBuilderFactory.RestApiBuilders,
+ org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory.ResteasyBuilders,
org.apache.camel.builder.endpoint.dsl.RestEndpointBuilderFactory.RestBuilders,
org.apache.camel.builder.endpoint.dsl.RestOpenApiEndpointBuilderFactory.RestOpenApiBuilders,
org.apache.camel.builder.endpoint.dsl.RestSwaggerEndpointBuilderFactory.RestSwaggerBuilders,
- org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory.ResteasyBuilders,
org.apache.camel.builder.endpoint.dsl.RobotFrameworkEndpointBuilderFactory.RobotFrameworkBuilders,
org.apache.camel.builder.endpoint.dsl.RssEndpointBuilderFactory.RssBuilders,
- org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory.STS2Builders,
org.apache.camel.builder.endpoint.dsl.SagaEndpointBuilderFactory.SagaBuilders,
org.apache.camel.builder.endpoint.dsl.SalesforceEndpointBuilderFactory.SalesforceBuilders,
org.apache.camel.builder.endpoint.dsl.SchedulerEndpointBuilderFactory.SchedulerBuilders,
@@ -328,6 +327,7 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.StompEndpointBuilderFactory.StompBuilders,
org.apache.camel.builder.endpoint.dsl.StreamEndpointBuilderFactory.StreamBuilders,
org.apache.camel.builder.endpoint.dsl.StringTemplateEndpointBuilderFactory.StringTemplateBuilders,
+ org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory.STS2Builders,
org.apache.camel.builder.endpoint.dsl.StubEndpointBuilderFactory.StubBuilders,
org.apache.camel.builder.endpoint.dsl.SwiftEndpointBuilderFactory.SwiftBuilders,
org.apache.camel.builder.endpoint.dsl.TelegramEndpointBuilderFactory.TelegramBuilders,
@@ -357,10 +357,10 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.WsBuilders,
org.apache.camel.builder.endpoint.dsl.XChangeEndpointBuilderFactory.XChangeBuilders,
org.apache.camel.builder.endpoint.dsl.XJEndpointBuilderFactory.XJBuilders,
- org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory.XQueryBuilders,
org.apache.camel.builder.endpoint.dsl.XmlSignerEndpointBuilderFactory.XmlSignerBuilders,
org.apache.camel.builder.endpoint.dsl.XmlVerifierEndpointBuilderFactory.XmlVerifierBuilders,
org.apache.camel.builder.endpoint.dsl.XmppEndpointBuilderFactory.XmppBuilders,
+ org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory.XQueryBuilders,
org.apache.camel.builder.endpoint.dsl.XsltEndpointBuilderFactory.XsltBuilders,
org.apache.camel.builder.endpoint.dsl.XsltSaxonEndpointBuilderFactory.XsltSaxonBuilders,
org.apache.camel.builder.endpoint.dsl.YammerEndpointBuilderFactory.YammerBuilders,
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 9ced0e85ce09c..7d06b5f2d460c 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -25,13 +25,11 @@
@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
public interface EndpointBuilders
extends
- org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ActiveMQEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.AhcEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ArangoDbEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.AsteriskEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.Athena2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.AtlasMapEndpointBuilderFactory,
@@ -45,16 +43,16 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.AtomixSetEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.AtomixValueEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.AvroEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BeanEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BeanstalkEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BlobEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BonitaEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BoxEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BraintreeEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.BrowseEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CaffeineCacheEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CaffeineLoadCacheEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CassandraEndpointBuilderFactory,
@@ -63,20 +61,20 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.CinderEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ClassEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ClientEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ConsulEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ControlBusEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CordaEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CosmosDbEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CouchbaseEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CronEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.Cw2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CxfEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.CxfRsEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.DMSEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DataFormatEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DataLakeEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DataSetEndpointBuilderFactory,
@@ -93,22 +91,24 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.DirectVmEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DisruptorEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DisruptorVmEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.DMSEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DnsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DockerEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DozerEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DrillEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.DropboxEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ECS2EndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ElsqlEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.EtcdKeysEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.EtcdStatsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.EtcdWatchEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.EventEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.EventHubsEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.ExecEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.FacebookEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.FhirEndpointBuilderFactory,
@@ -144,7 +144,6 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.GridFsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.GrpcEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.GuavaEventBusEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HazelcastAtomicnumberEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HazelcastInstanceEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HazelcastListEndpointBuilderFactory,
@@ -156,12 +155,11 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.HazelcastSedaEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HazelcastSetEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HazelcastTopicEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HdfsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IAM2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IgniteCacheEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IgniteComputeEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IgniteEventsEndpointBuilderFactory,
@@ -172,35 +170,37 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.InfinispanEmbeddedEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.InfinispanRemoteEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.InfluxDbEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IrcEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.IronMQEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JBPMEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JCacheEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JcloudsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JcrEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JdbcEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JettyHttpEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JingEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JiraEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JmsEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JoltEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JooqEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JpaEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JsltEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.JsonataEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.Jt400EndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KafkaEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KameletEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KameletReifyEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KeystoneEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.Kinesis2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KinesisFirehose2EndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KubernetesConfigMapsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KubernetesCustomResourcesEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.KubernetesDeploymentsEndpointBuilderFactory,
@@ -224,13 +224,11 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.LogEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LuceneEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LumberjackEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MasterEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MiloClientEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MiloServerEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory,
@@ -238,6 +236,8 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.MllpEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MockEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MongoDbEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MsvEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MustacheEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.MvelEndpointBuilderFactory,
@@ -245,9 +245,9 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.MyBatisEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NagiosEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NatsEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NettyEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NettyHttpEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NeutronEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NitriteEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.NovaEndpointBuilderFactory,
@@ -276,13 +276,12 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.RedisEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RefEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RestApiEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RestEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RestOpenApiEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RestSwaggerEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RobotFrameworkEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.RssEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.SagaEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.SalesforceEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.SchedulerEndpointBuilderFactory,
@@ -325,6 +324,7 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.StompEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.StreamEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.StringTemplateEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.StubEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.SwiftEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.TelegramEndpointBuilderFactory,
@@ -354,10 +354,10 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XChangeEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XJEndpointBuilderFactory,
- org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XmlSignerEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XmlVerifierEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XmppEndpointBuilderFactory,
+ org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XsltEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.XsltSaxonEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.YammerEndpointBuilderFactory,
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java
index fb2440fc79500..afc50bb9e74f8 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java
@@ -122,6 +122,21 @@ default AS2EndpointConsumerBuilder as2Version(String as2Version) {
doSetProperty("as2Version", as2Version);
return this;
}
+ /**
+ * The name of the attached file.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: common
+ *
+ * @param attachedFileName the value to set
+ * @return the dsl builder
+ */
+ default AS2EndpointConsumerBuilder attachedFileName(
+ String attachedFileName) {
+ doSetProperty("attachedFileName", attachedFileName);
+ return this;
+ }
/**
* The Client Fully Qualified Domain Name (FQDN). Used in message ids
* sent by endpoint.
@@ -828,6 +843,21 @@ default AS2EndpointProducerBuilder as2Version(String as2Version) {
doSetProperty("as2Version", as2Version);
return this;
}
+ /**
+ * The name of the attached file.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: common
+ *
+ * @param attachedFileName the value to set
+ * @return the dsl builder
+ */
+ default AS2EndpointProducerBuilder attachedFileName(
+ String attachedFileName) {
+ doSetProperty("attachedFileName", attachedFileName);
+ return this;
+ }
/**
* The Client Fully Qualified Domain Name (FQDN). Used in message ids
* sent by endpoint.
@@ -1514,6 +1544,20 @@ default AS2EndpointBuilder as2Version(String as2Version) {
doSetProperty("as2Version", as2Version);
return this;
}
+ /**
+ * The name of the attached file.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: common
+ *
+ * @param attachedFileName the value to set
+ * @return the dsl builder
+ */
+ default AS2EndpointBuilder attachedFileName(String attachedFileName) {
+ doSetProperty("attachedFileName", attachedFileName);
+ return this;
+ }
/**
* The Client Fully Qualified Domain Name (FQDN). Used in message ids
* sent by endpoint.
diff --git a/docs/components/modules/ROOT/pages/as2-component.adoc b/docs/components/modules/ROOT/pages/as2-component.adoc
index 008acdf4bf79b..98ee69bcb010f 100644
--- a/docs/components/modules/ROOT/pages/as2-component.adoc
+++ b/docs/components/modules/ROOT/pages/as2-component.adoc
@@ -118,7 +118,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (30 parameters):
+=== Query Parameters (31 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -128,6 +128,7 @@ with the following path and query parameters:
| *as2MessageStructure* (common) | The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature. There are 8 enums and the value can be one of: PLAIN, SIGNED, ENCRYPTED, SIGNED_ENCRYPTED, PLAIN_COMPRESSED, SIGNED_COMPRESSED, ENCRYPTED_COMPRESSED, ENCRYPTED_COMPRESSED_SIGNED | | AS2MessageStructure
| *as2To* (common) | The value of the AS2To header of AS2 message. | | String
| *as2Version* (common) | The version of the AS2 protocol. There are 2 enums and the value can be one of: 1.0, 1.1 | 1.1 | String
+| *attachedFileName* (common) | The name of the attached file | | String
| *clientFqdn* (common) | The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
| *compressionAlgorithm* (common) | The algorithm used to compress EDI message. There are 1 enums and the value can be one of: ZLIB | | AS2CompressionAlgorithm
| *decryptingPrivateKey* (common) | The key used to encrypt the EDI message. | | PrivateKey
@@ -193,7 +194,7 @@ The client API has 1 method(s) which is represented by the following method sign
[source,java]
----
-org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain);
+org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm, String dispositionNotificationTo, String[] signedReceiptMicAlgorithms, org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm, java.security.cert.Certificate[] encryptingCertificateChain, String attachedFileName);
----
@@ -219,10 +220,11 @@ The client API method(s) has the following set of parameters listed in the table
| send | *as2From* | AS2 name of sender | String
| send | *as2MessageStructure* | The structure of AS2 to send; see AS2MessageStructure | AS2MessageStructure
| send | *as2To* | AS2 name of recipient | String
+| send | *attachedFileName* | *Optional* The name of the attached file or null if user doesn't want to specify it | String
| send | *compressionAlgorithm* | *Optional* The algorithm used to compress the message or null if sending EDI message uncompressed | AS2CompressionAlgorithm
| send | *dispositionNotificationTo* | *Optional* An RFC2822 address to request a receipt or null if no receipt requested | String
| send | *ediMessage* | EDI message to transport | String
-| send | *ediMessageContentType* | The content typw of EDI message | ContentType
+| send | *ediMessageContentType* | The content type of EDI message | ContentType
| send | *ediMessageTransferEncoding* | *Optional* The transfer encoding used to transport EDI message | String
| send | *encryptingAlgorithm* | *Optional* The algorithm used to encrypt the message or null if sending EDI message unencrypted | AS2EncryptionAlgorithm
| send | *encryptingCertificateChain* | *Optional* The chain of certificates used to encrypt the message or null if sending EDI message unencrypted | Certificate[]
@@ -235,7 +237,7 @@ The client API method(s) has the following set of parameters listed in the table
| send | *subject* | Message subject | String
|===
-In addition to the parameters above, the client API can also use from the 30 endpoint query option
+In addition to the parameters above, the client API can also use from the 31 endpoint query option
which is listed in the _Query Parameters_ section.
Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -284,7 +286,7 @@ The server API method(s) has the following set of parameters listed in the table
| listen | *requestUriPattern* | | String
|===
-In addition to the parameters above, the server API can also use from the 30 endpoint query option
+In addition to the parameters above, the server API can also use from the 31 endpoint query option
which is listed in the _Query Parameters_ section.
Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.