[ 
https://issues.apache.org/jira/browse/CAMEL-3865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13062897#comment-13062897
 ] 

Willem Jiang commented on CAMEL-3865:
-------------------------------------


The user never send any other comments on the JIRA, I did some test on the 
annotated classes with jaxb.index.
It looks like the camel-jaxb can pick up the CamelContext rightly from the 
class rightly.

So I close this issue with can not reproduce. 

> FallbackTypeConverter method throws JAXBException when marshalling nested, 
> non-ObjectFactory, JAXB annotated, classes
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3865
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3865
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jaxb
>    Affects Versions: 2.7.0
>            Reporter: Clifton Eaton
>            Assignee: Willem Jiang
>
> FallbackTypeConverter method throws JAXBException when marshalling nested, 
> non-ObjectFactory, JAXB annotated, classes. These are  classes that are 
> annotated with the @XmlRootElement, but not generated using XJC, so there is 
> no ObjectFactory class for them.  The intention is to provide the package 
> names containing the jaxb.index files to build the context.  
> FallbackTypeConverter does not marshal or unmarshal using the package names, 
> but rather uses the value's Class as the context.  Thus everytime a JAXB 
> annotated object contains another JAXB annotated object, there is an 
> exception that looks like this:
> Caused by: org.apache.camel.CamelExecutionException: Exception occurred 
> during execution on the exchange: Exchange[Message: 
> com.foo.bar.MyObject@15e6463]
>       at 
> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1155)
>       at 
> org.apache.camel.converter.jaxb.FallbackTypeConverter.convertTo(FallbackTypeConverter.java:93)
>       at 
> org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:190)
>       at 
> org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:101)
>       at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:73)
>       at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47)
>       at 
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:115)
>       at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:103)
>       at 
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:74)
>       at 
> org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:136)
>       ... 39 more
> Caused by: javax.xml.bind.MarshalException
>  - with linked exception:
> [javax.xml.bind.JAXBException: class com.foo.bar.nested.MyNested nor any of 
> its super class is known to this context.]
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:318)
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:244)
>       at 
> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:96)
>       at 
> org.apache.camel.converter.jaxb.FallbackTypeConverter.marshall(FallbackTypeConverter.java:174)
>       at 
> org.apache.camel.converter.jaxb.FallbackTypeConverter.convertTo(FallbackTypeConverter.java:88)
>       ... 47 more
> Caused by: javax.xml.bind.JAXBException: class com.foo.bar.nested.MyNested 
> nor any of its super class is known to this context.
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:246)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:261)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:653)
>       at 
> com.sun.xml.bind.v2.runtime.property.SingleMapNodeProperty.serializeBody(SingleMapNodeProperty.java:272)
>       at 
> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:593)
>       at 
> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:324)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315)
>       ... 51 more
> Caused by: javax.xml.bind.JAXBException: class com.foo.bar.nested.MyNested 
> nor any of its super class is known to this context.
>       at 
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:594)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:648)
>       ... 57 more
>  

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to