JAXB marshaling broken in 2.6.0
-------------------------------
Key: CAMEL-3729
URL: https://issues.apache.org/jira/browse/CAMEL-3729
Project: Camel
Issue Type: Bug
Components: camel-jaxb
Affects Versions: 2.6.0
Environment: Sun Jdk 1.6, Mac OSX
Reporter: Dragisa Krsmanovic
This used to work in 2.5.0 but in 2.6.0 it throws:
{noformat}
Caused by: javax.xml.bind.JAXBException: class com.ask.ugc.camel.Jask3061$Foo
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.childAsRoot(XMLSerializer.java:482)
at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315)
at
com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:244)
at
javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:75)
at
org.apache.camel.converter.jaxb.JaxbDataFormat.marshal(JaxbDataFormat.java:117)
at
org.apache.camel.converter.jaxb.JaxbDataFormat.marshal(JaxbDataFormat.java:96)
...
{noformat}
{code:java}
@ContextConfiguration(
locations = "foo.bar.JaxbBug$ContextConfig",
loader = JavaConfigContextLoader.class)
public class JaxbBug extends AbstractTestNGSpringContextTests {
@EndpointInject(uri = "mock:end")
protected MockEndpoint mockEndpoint;
@Produce(uri = "direct:test")
protected ProducerTemplate producer;
@Test
@DirtiesContext
public void testJaxbMarshalling() throws InterruptedException {
mockEndpoint.expectedMessageCount(1);
producer.sendBody(new Foo());
mockEndpoint.assertIsSatisfied();
}
@Configuration
public static class ContextConfig extends SingleRouteCamelConfiguration {
@Bean
public RouteBuilder route() {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
JaxbDataFormat jaxb = new
JaxbDataFormat(JAXBContext.newInstance(Foo.class));
from("direct:test").marshal(jaxb).to("mock:end");
}
};
}
}
@XmlRootElement
public static class Foo {
String bar;
public String getBar() {
return bar;
}
public void setBar(String bar) {
this.bar = bar;
}
}
}
{code}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira