Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 365766

Summary: JAXB List of DataHandlers fails when unmarshalling inline binary.
Product: z_Archived Reporter: Matt MacIvor <matt.macivor>
Component: EclipselinkAssignee: 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:
Description Flags
Proposed Fix and Tests none

Description Matt MacIvor CLA 2011-12-06 11:46:45 EST
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)
Comment 1 Matt MacIvor CLA 2011-12-06 12:08:16 EST
Created attachment 208006 [details]
Proposed Fix and Tests
Comment 2 Matt MacIvor CLA 2011-12-13 11:53:16 EST
Fix checked into Trunk and 2.3
Reviewed by Blaise Doughan
Comment 3 Eclipse Webmaster CLA 2022-06-09 10:25:15 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink