You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Hans Peter (JIRA)" <ji...@apache.org> on 2009/06/17 15:06:07 UTC
[jira] Updated: (AXIS2-4387) Underlying Stax Reader left in a
faulty state when sending MTOM attachments
[ https://issues.apache.org/jira/browse/AXIS2-4387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hans Peter updated AXIS2-4387:
------------------------------
Attachment: schema_snippet.xml
There's descriptions on which scenarios that actually do work in the schema_snippet.xml file and which scenarios that do not work.
I presume that: if no new start elements occurs on the input after the Content element then everything seems to work just fine.
> 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
> 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.