[ 
https://issues.apache.org/jira/browse/CAMEL-21505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17911945#comment-17911945
 ] 

Jono Morris edited comment on CAMEL-21505 at 1/11/25 10:56 AM:
---------------------------------------------------------------

Looking at sections 3.4 and 3.5 of AS2 spec [1], AS2 appears to be primarily 
designed for sending EDI messages using 7-bit US-ASCII.  

Camel-AS2 provides EDIFACT, EDI-X12, EDI-CONSENT, and XML entity types, all of 
which only support text.  However, I've found that Zip content can be sent if 
it is first Base64 encoded, and I've created a few examples [2].
   
   1. [https://www.ietf.org/rfc/rfc4130.txt]
   2. 
[https://github.com/apache/camel/compare/main...jonomorris:camel:CAMEL-21505_zipfile_example?expand=1]
   


was (Author: jono):
Looking at sections 3.4 and 3.5 of AS2 spec [1], AS2 appears to be primarily 
designed for sending EDI messages using 7-bit US-ASCII.  

Camel-AS2 provides EDIFACT, EDI-X12, EDI-CONSENT, and XML entity types, all of 
which only support text.  However, I've found
that Zip content can be sent if it is first Base64 encoded, and I've created a 
few examples [2].
   
   1. https://www.ietf.org/rfc/rfc4130.txt
   2. 
https://github.com/apache/camel/compare/main...jonomorris:camel:CAMEL-21505_zipfile_example?expand=1
   

> camel-as2: Binary files get corrupt when using 'base64' content transfer 
> encoding
> ---------------------------------------------------------------------------------
>
>                 Key: CAMEL-21505
>                 URL: https://issues.apache.org/jira/browse/CAMEL-21505
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-as2
>    Affects Versions: 4.8.1
>         Environment: Windows and Docker 
> Java 21 Temurin
>            Reporter: Meinolf S-D
>            Priority: Minor
>             Fix For: 4.8.4, 4.10.0
>
>         Attachments: image-2024-12-03-12-29-47-487.png, 
> image-2025-01-10-15-09-59-096.png
>
>
> Binary files get corrupt when using *base64* content transfer encoding due to 
> String assignment of the decoded byte[]
> This can easily be tested sending a .zip file to Camel AS2 listener.
> After some investigation the issue seems to be in the EntityUtil.decode 
> method.
> As shown in the screenshot the decoded (binary) byte[] is assigned to a new 
> String which result into corrupt date in case of binary content.
> !image-2024-12-03-12-29-47-487.png!
> In addition there are new line characters in the encoded base64 encoded 
> String data object.
> In case of using transfer encoding type *binary* 
> java.nio.charset.MalformedInputException: Input length = 1 it thrown which 
> might be OK.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to