You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2010/06/10 16:42:04 UTC

Re: Camel 2.3.0 , JAXB component marshalling

Hi

You most likely need that jaxb.index file in your JAR.
Just google it and see how to use that.


On Thu, Jun 10, 2010 at 4:26 PM, Nav1771 <na...@yahoo.com> wrote:
>
> I have tried various solution given in this forum before posting this issue.
> Somehow they dont work with Camel 2.3.0. I would be grateful if someone
> could shed some light on how to use the Marshaller.
>
> Caused by: javax.xml.bind.JAXBException: class com.CamelTest.JAXBTestObject
> nor any of its super class is known to this context.
>        at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:590)
>        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:110)
>        at
> org.apache.camel.converter.jaxb.JaxbDataFormat.marshal(JaxbDataFormat.java:89)
>        ... 46 more
>
>
>  package com.CamelTest;
>
> import javax.xml.bind.annotation.*;
>
> /**
>  * Created by IntelliJ IDEA.
>  * User: navin
>  * Date: Jun 9, 2010
>  * Time: 4:27:02 PM
>  * To change this template use File | Settings | File Templates.
>  */
>
> basically the CSVFileParserProcessor returns an annotated object of type
> JAXBTestObject
> Route :
>  JaxbDataFormat jaxb = new JaxbDataFormat();
>
>        jaxb.setPartClass("com.TestClass.JAXBTestObject");
>
>
>
> from("ftp://xyz@192.0.0.1/csvTrackingFiles?password=test&delete=true&delay=5000")
>                .split(body(String.class).tokenize("\n"))
>                .convertBodyTo(String.class)
>                .process(new CSVFileParserProcessor())
>                .marshal(jaxb)
>                .to("file://src/test3/");
>
> JAXBTestObject.java:
> @XmlRootElement(name="JAXBTestObject")
> @XmlAccessorType(XmlAccessType.NONE)
> public class JAXBTestObject {
>     @XmlElement(name="column1")
>    private String str1;
>     @XmlElement(name="column2")
>    private String str2;
>    @XmlElement(name="column3")
>    private String str3;
>
>    public JAXBTestObject() {
>
>    }
>
>    public String getStr1() {
>        return str1;
>    }
>
>    public void setStr1(String str1) {
>        this.str1 = str1;
>    }
>
>
>    public String getStr2() {
>        return str2;
>    }
>
>    public void setStr2(String str2) {
>        this.str2 = str2;
>    }
>
>    public String getStr3() {
>        return str3;
>    }
>
>    public void setStr3(String str3) {
>        this.str3 = str3;
>    }
> }
>
>
>
> --
> View this message in context: http://old.nabble.com/Camel-2.3.0-%2C--JAXB-component-marshalling-tp28843845p28843845.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus