[ 
https://issues.apache.org/jira/browse/AXIS2-4387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen reassigned AXIS2-4387:
--------------------------------------

    Assignee: Andreas Veithen

> Underlying Stax Reader left in a faulty state when sending MTOM attachments
> ---------------------------------------------------------------------------
>
>                 Key: AXIS2-4387
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4387
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.4.1
>            Reporter: Hans Peter
>            Assignee: Andreas Veithen
>            Priority: Minor
>         Attachments: schema_snippet.xml
>
>
> When sending requests to an endpoint generated by ADB databinding a parsing 
> error occurs. The generated ADB classes seems to consume too few tokens from 
> the XML reader when data is sent in with MTOM. The same test-requests works 
> fine when inlining attachments as base64 encoded strings.
> I have attached the relevant part of the schema that was used when i 
> encountered the bug.
> What I have done as a workaround is to make the change in the generated code 
> in IndexFile.Factory#parse(XmlStreamReader). The added line to fix the 
> problem is marked with (THIS IS THE FIX)
> if (reader.isStartElement() && new javax.xml.namespace.QName(
>                     "http://ssa.stockholm.se/";,
>                     "Content").equals(reader.getName()))
>                 {
>                     reader.next();
>                     if (isReaderMTOMAware(reader)
>                         &&
>                         
> java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_BINARY)))
>                     {
>                         //MTOM aware reader - get the datahandler directly 
> and put it in the object
>                         object.setContent(
>                             (javax.activation.DataHandler) 
> reader.getProperty(org.apache.axiom.om.OMConstants.DATA_HANDLER));
>                         while (!reader.isEndElement()) reader.next(); // Read 
> until end content (THIS IS THE FIX)
>                     }
>                     else

-- 
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