Axiom needs to provide a way to control encoding of binary attachment parts
when serializing a MIME multipart message
---------------------------------------------------------------------------------------------------------------------
Key: WSCOMMONS-390
URL: https://issues.apache.org/jira/browse/WSCOMMONS-390
Project: WS-Commons
Issue Type: Improvement
Components: AXIOM
Reporter: Phil Adams
Currently, it appears that Axiom uses the "identity" encoding (i.e. no
encoding) when writing out a binary attachment part as part of a MIME message.
In this case the Content-Type would be something like "image/jpeg" and the
Content-Transfer-Encoding would be "binary" within the MIME part. The
"binary" encoding for a binary attachment part works fine if the resulting byte
stream will be transmitted in a byte array-based data structure (e.g. HTTP
message or a JMS BytesMessage). However, if the resulting byte stream needs
to be transmitted in a String-based data structure (e.g. JMS TextMessage) then
the binary attachment parts would need to be encoded with base64 encoding.
RFC 2045 (http://tools.ietf.org/html/rfc2045) discusses this in sections 6.1
and 6.2.
So, the point of this issue is to request that a mechanism for requesting the
base64 encoding of binary attachment parts be added to Axiom. After
brainstorming this with Rich and Dims, one suggestion for doing this would be
to provide an additional property on the OMOutputFormat class with
corresponding get/set methods. Perhaps a property with a name like
"binaryPartContentTransferEncoding" could be added which would be used to
specify the Content-Transfer-Encoding to be done for binary attachment parts.
Then for binary attachment parts, Axiom could wrap the existing DataHandler
with a ConfigurableDataHandler which could do the necessary base64 encoding
when the part's content is written out.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.