| Summary: | JAXB List of DataHandlers fails when unmarshalling inline binary. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Matt MacIvor <matt.macivor> | ||||
| Component: | Eclipselink | Assignee: | Nobody - feel free to take it <nobody> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Created attachment 208006 [details]
Proposed Fix and Tests
Fix checked into Trunk and 2.3 Reviewed by Blaise Doughan The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |
When attempting to unmarshal a document that contains inline binary mapped to a List of DataHandlers, the following exception occurs: Exception Description: The object [[B@814f254], of class [class [B], from mapping [org.eclipse.persistence.oxm.mappings.XMLBinaryDataCollectionMapping[content]] with descriptor [XMLDescriptor(mtom.service.types.ResponseWrapper --> [DatabaseTable(ns0:echoDataHandlerWrappedResponseResponse)])], could not be converted to [class javax.activation.DataHandler]. Local Exception Stack: Exception [EclipseLink-3002] (Eclipse Persistence Services - 2.4.0.v20111129-r10474): org.eclipse.persistence.exceptions.ConversionException Exception Description: The object [[B@814f254], of class [class [B], from mapping [org.eclipse.persistence.oxm.mappings.XMLBinaryDataCollectionMapping[content]] with descriptor [XMLDescriptor(mtom.service.types.ResponseWrapper --> [DatabaseTable(ns0:echoDataHandlerWrappedResponseResponse)])], could not be converted to [class javax.activation.DataHandler]. at org.eclipse.persistence.exceptions.ConversionException.couldNotBeConverted(ConversionException.java:71) at org.eclipse.persistence.internal.helper.ConversionManager.convertObject(ConversionManager.java:169) at org.eclipse.persistence.internal.oxm.XMLConversionManager.convertObject(XMLConversionManager.java:180) at org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.convertObject(DatasourcePlatform.java:160) at org.eclipse.persistence.mappings.converters.TypeConversionConverter.convertDataValueToObjectValue(TypeConversionConverter.java:119) at org.eclipse.persistence.internal.jaxb.JAXBElementConverter.convertDataValueToObjectValue(JAXBElementConverter.java:77) at org.eclipse.persistence.internal.jaxb.JAXBElementConverter.convertDataValueToObjectValue(JAXBElementConverter.java:55) at org.eclipse.persistence.internal.oxm.XMLInlineBinaryHandler.endElement(XMLInlineBinaryHandler.java:104) at org.eclipse.persistence.internal.oxm.record.deferred.EndElementEvent.processEvent(EndElementEvent.java:37) at org.eclipse.persistence.internal.oxm.record.deferred.DeferredContentHandler.executeEvents(DeferredContentHandler.java:61) at org.eclipse.persistence.internal.oxm.record.deferred.BinaryMappingContentHandler.executeEvents(BinaryMappingContentHandler.java:75) at org.eclipse.persistence.internal.oxm.record.deferred.BinaryMappingContentHandler.processSimpleElement(BinaryMappingContentHandler.java:67) at org.eclipse.persistence.internal.oxm.record.deferred.DeferredContentHandler.endElement(DeferredContentHandler.java:119) at org.eclipse.persistence.internal.oxm.record.DOMReader.reportElementEvents(DOMReader.java:149) at org.eclipse.persistence.internal.oxm.record.DOMReader.handleChildNodes(DOMReader.java:250) at org.eclipse.persistence.internal.oxm.record.DOMReader.reportElementEvents(DOMReader.java:148) at org.eclipse.persistence.internal.oxm.record.DOMReader.parse(DOMReader.java:89) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:470) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:426) at org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:520) at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:333)