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://[email protected]/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.