MTOM Broken with Axis2 and .NET clients
---------------------------------------

                 Key: CXF-606
                 URL: https://issues.apache.org/jira/browse/CXF-606
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0
            Reporter: Chris Moesel
         Attachments: mtom_boundary_bug.patch

A recent change to AttachmentDeserializer broke MTOM compatibility with Axis2 
and C# .NET clients.  The AttachmentDeserializer no longer looks in 
Content-Type to get the boundary delimiters-- instead it looks in the message 
content input stream.  The problem is, it now assumes that boundary delimiters 
will start with "----=_Part_".  This is not the case for Apache Axis2 or C# 
clients, so it can't find the boundary delimiters.

Axis2 uses boundary delimiters like: 
MIMEBoundaryurn_uuid_6BC4984D5D38EB283C1177616488109
.NET uses boundary delimiters like: --MIMEBoundary633131968239902899

I am attaching a patch.  The patch changes AttachmentDeserializer to first look 
in the Content-Type for the boundary.  If it's found, then it uses it.  If not, 
only then does it look in the message content input stream.  When looking in 
the message content, it does, however, still assume the boundary delimiter 
starts with "----=_Part_".  I'm not currently familiar enough with boundary 
delimiter rules to write a better boundary detection scheme.  

Nonetheless, this patch should make handling attachments more efficient (since 
it doesn't always copy out the message content InputStream).  And, of course, 
it fixes the Axis2 and C# errors too!

A unit test is also included so this bug will never happen again. =)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to