You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2011/03/01 09:20:36 UTC

[jira] Assigned: (CAMEL-3729) JAXB marshaling broken in 2.6.0

     [ https://issues.apache.org/jira/browse/CAMEL-3729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen reassigned CAMEL-3729:
----------------------------------

    Assignee: Claus Ibsen

> 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
>            Assignee: Claus Ibsen
>              Labels: jaxb
>
> 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