[ https://issues.apache.org/jira/browse/CAMEL-22359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-22359: -------------------------------- Priority: Minor (was: Major) > camel-as2: MDN multipart/report parsing issue with no Content-Type > ------------------------------------------------------------------ > > Key: CAMEL-22359 > URL: https://issues.apache.org/jira/browse/CAMEL-22359 > Project: Camel > Issue Type: Bug > Components: camel-as2 > Affects Versions: 4.x > Reporter: msorce > Priority: Minor > > We use Camel AS2 component to receive and send edifact messages to partners. > We're having issue parsing synchronous MDN from one of this partner. > The global Content-Type of the MDN is multipart/report. > The first part (the human readable text) has no Content-Type set. > This leads to a parsing bug whereas RFC 2045 (Section 5.2) specify that the > Content-Type can be omitted and should be considered as "text/plain; > charset=us-ascii". > > {code:java} > Caused by: org.apache.hc.core5.http.ParseException: failed to parse text > entity > at > org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(EntityParser.java:449) > ~[classes/:na] > at > org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntity(EntityParser.java:274) > ~[classes/:na] > at > org.apache.camel.component.as2.api.entity.EntityParser.parseByMimeType(EntityParser.java:368) > ~[classes/:na] > at > org.apache.camel.component.as2.api.entity.EntityParser.doParseAS2MessageEntity(EntityParser.java:357) > ~[classes/:na] > at > org.apache.camel.component.as2.api.entity.EntityParser.parseAS2MessageEntity(EntityParser.java:336) > ~[classes/:na] > at > org.apache.camel.component.as2.api.io.AS2BHttpClientConnection.receiveResponseEntity(AS2BHttpClientConnection.java:126) > ~[camel-as2-api-4.10.6.jar:4.10.6] > at > org.apache.hc.core5.http.impl.io.HttpRequestExecutor.execute(HttpRequestExecutor.java:192) > ~[httpcore5-5.2.5.jar:5.2.5] > at > org.apache.hc.core5.http.impl.io.HttpRequestExecutor.execute(HttpRequestExecutor.java:218) > ~[httpcore5-5.2.5.jar:5.2.5] > at > org.apache.camel.component.as2.api.AS2ClientConnection$2.execute(AS2ClientConnection.java:205) > ~[camel-as2-api-4.10.6.jar:4.10.6] > at > org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager$InternalConnectionEndpoint.execute(PoolingHttpClientConnectionManager.java:717) > ~[httpclient5-5.3.1.jar:5.3.1] > at > org.apache.camel.component.as2.api.AS2ClientConnection.send(AS2ClientConnection.java:211) > ~[camel-as2-api-4.10.6.jar:4.10.6] > at > org.apache.camel.component.as2.api.AS2ClientManager.sendRequest(AS2ClientManager.java:331) > ~[camel-as2-api-4.10.6.jar:4.10.6] > at > org.apache.camel.component.as2.api.AS2ClientManager.send(AS2ClientManager.java:322) > ~[camel-as2-api-4.10.6.jar:4.10.6] > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) > ~[na:na] > at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] > at > org.apache.camel.support.component.ApiMethodHelper.invokeMethod(ApiMethodHelper.java:521) > ~[camel-support-4.10.6.jar:4.10.6] > ... 9 common frames omitted > Caused by: org.apache.hc.core5.http.ParseException: failed to parse EDI entity > at > org.apache.camel.component.as2.api.entity.EntityParser.parseEntityBody(EntityParser.java:634) > ~[classes/:na] > at > org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(EntityParser.java:419) > ~[classes/:na] > ... 24 common frames omitted > Caused by: org.apache.hc.core5.http.ParseException: failed to parse text > entity > at > org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(EntityParser.java:520) > ~[classes/:na] > at > org.apache.camel.component.as2.api.entity.EntityParser.parseEntityBody(EntityParser.java:616) > ~[classes/:na] > ... 25 common frames omitted > Caused by: org.apache.hc.core5.http.HttpException: Failed to find > Content-Type header in EDI message body part > at > org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(EntityParser.java:486) > ~[classes/:na] > ... 26 common frames omitted > {code} > RFC 2045 (MIME Part One: Format of Internet Message Bodies), Section 5.2 – > Content-Type Defaults > "If no Content-Type field is present, the default Content-Type is text/plain; > charset=us-ascii." > RFC 4130 (AS2) → RFC 3798 (MDN) → RFC 3462 (multipart/report) → RFC 2046 > (MIME media types) → RFC 2045 (MIME defaults, Section 5.2) -- This message was sent by Atlassian Jira (v8.20.10#820010)