Announcement Announcement Module
No announcement yet.
Get rid of the JAXBElement when using Jaxb2Marshaller Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Get rid of the JAXBElement when using Jaxb2Marshaller


    When using JAXB2, depending on the number of elements defined in the the XML schema, the unmarshalled objects can be of type either MyClass (exactly one element) or JAXBElement<MyClass> (more than one element) -- see

    This would be very useful if the class org.springframework.oxm.jaxb.Jaxb2Marshaller of the Spring Framework could do the abstraction of the JAXBElement for us, ie. :
    - always returning an object of type MyClass when unmarshalling (by calling the getValue() method on the JAXBElement for us).
    - allowing passing an object of type MyClass when marshalling even though a JAXBElement<MyClass> would normally be expected.

    Then our code wouldn't have any code dependency on the marshaller (JAXB in this case).

    What do you think?

    -- Pierre

  • #2
    Does it make sense for a JIRA as of an improvement of Jaxb2Marshaller ?


    • #3
      Not a single comment in a month?
      Well, for who might be also interested in the subject, here's the JIRA :


      • #4
        I agree. This is a tedious issue. This is what I've had to do in order to extract the actual object from the JAXBElement:

        		unmarshaller="marshaller" input-channel="channel.unmarshall" output-channel="channel.unmarshall2">
        	<int:transformer input-channel="channel.unmarshall2"
        		output-channel="channel.auditTransformer" expression="payload.value" />