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