The error is from bindy data format, so somewhere you must be using that, and you have not configured bindy correct
On Thu, Feb 23, 2017 at 1:06 PM, Amruta Jawlekar <[email protected]> wrote: > I am getting error in unmarshalling to custom data format. It is working > successfully in Java DSL approach, now I need to convert it in Spring DSL > where I am getting error. > > camel-context.xml > > <bean id="wynFlatFileDataFormat" > class="ign.wyn.integration.common.dataformat.csv.WynFlatFileDataFormat" /> > > <camelContext trace="true" > xmlns="http://camel.apache.org/schema/spring"> > > <camel:route id="processInputFile"> > <camel:from uri="direct:processFileImport"/> > <camel:unmarshal> > <camel:custom > ref="wynFlatFileDataFormat"/> > </camel:unmarshal> > <camel:to uri="direct:generateOutput" /> > </camel:route> > > </camelContext> > > WynFlatFileDataFormat - > > public class WynFlatFileDataFormat extends ServiceSupport implements > DataFormat, IWynIntegrationConstants { > public Map<String, WynFlatFileDefinitionBean> unmarshal(Exchange exchange, > InputStream stream) throws Exception { > // processing stream data and putting in a Map<String, > WynFlatFileDefinitionBean> taskBeanMap. > // returning taskBeanMap > } > } > > WynFlatFileDefinitionBean - > public class WynFlatFileDefinitionBean implements Serializable { > // getters and setters > } > > > Error trace - > > [ main] DefaultListableBeanFactory DEBUG > Returning cached instance of singleton bean 'wynFlatFileDataFormat' > [ main] BeanUtils DEBUG No > property editor [org.apache.camel.model.DataFormatDefinitionEditor] found > for type org.apache.camel.model.DataFormatDefinition according to 'Editor' > suffix convention > [ main] DefaultListableBeanFactory DEBUG Failed > to convert bean 'wynFlatFileDataFormat' to required type > [org.apache.camel.model.DataFormatDefinition] > org.springframework.beans.ConversionNotSupportedException: Failed to convert > value of type > [ign.wyn.integration.common.dataformat.csv.WynFlatFileDataFormat] to > required type [org.apache.camel.model.DataFormatDefinition]; nested > exception is java.lang.IllegalStateException: Cannot convert value of type > [ign.wyn.integration.common.dataformat.csv.WynFlatFileDataFormat] to > required type [org.apache.camel.model.DataFormatDefinition]: no matching > editors or conversion strategy found > at > org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:74)[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] > . > . > . > . > . > Exception in thread "main" org.apache.camel.RuntimeCamelException: > org.apache.camel.FailedToCreateRouteException: Failed to create route > processItemDimensionFile at: >>> Marshal[ref:wynCsvDataFormat] <<< in route: > Route(processItemDimensionFile)[[From[direct:processItemDime... because of > Either packages or classType must be specified > at > org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1690) > at > org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:138) > at > org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:340) > at > org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:163) > at > org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:136) > at > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) > at > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:335) > at > org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:855) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) > at > org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:213) > at org.apache.camel.spring.Main.doStart(Main.java:153) > at > org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > at > ign.wyn.integration.initiator.WynImportInitiator.main(WynImportInitiator.java:32) > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create > route processItemDimensionFile at: >>> Marshal[ref:wynCsvDataFormat] <<< in > route: Route(processItemDimensionFile)[[From[direct:processItemDime... > because of Either packages or classType must be specified > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1072) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196) > at > org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974) > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3301) > at > org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3024) > at > org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175) > at > org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2854) > at > org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2850) > at > org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2873) > at > org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2850) > at > org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > at > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2819) > at > org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:270) > at > org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:136) > ... 13 more > Caused by: java.lang.IllegalArgumentException: Either packages or classType > must be specified > at > org.apache.camel.model.dataformat.BindyDataFormat.createDataFormat(BindyDataFormat.java:98) > at > org.apache.camel.model.DataFormatDefinition.getDataFormat(DataFormatDefinition.java:103) > at > org.apache.camel.model.DataFormatDefinition.getDataFormat(DataFormatDefinition.java:78) > at > org.apache.camel.model.MarshalDefinition.createProcessor(MarshalDefinition.java:177) > at > org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:534) > at > org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:495) > at > org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069) > ... 26 more > > > Working Java DSL Statement for the same - > from("direct:processFileImport").unmarshal(new > WynFlatFileDataFormat()).to("direct:splitData"); > > Would appreciate any help! > > Thanks, > Amruta > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Error-in-Unmarshalling-to-custom-data-format-tp5794344.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
