[
https://issues.apache.org/jira/browse/CAMEL-22571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen reassigned CAMEL-22571:
-----------------------------------
Assignee: Claus Ibsen
> [camel-beanio] No type converter for encoding
> ---------------------------------------------
>
> Key: CAMEL-22571
> URL: https://issues.apache.org/jira/browse/CAMEL-22571
> Project: Camel
> Issue Type: Bug
> Components: camel-beanio
> Affects Versions: 4.10.7, 4.14.1, 4.15.0
> Reporter: Pasquale Congiusti
> Assignee: Claus Ibsen
> Priority: Minor
>
> Reproducer:
> {code:java}
> - from:
> uri: "direct:unmarshal"
> steps:
> - unmarshal:
> beanio:
> mapping: "mappings.xml"
> streamName: "personStream"
> encoding: UTF-8
> - split:
> simple: "${body}"
> steps:
> - to: "mock:beanio-unmarshal"
> - from:
> uri: "direct:marshal"
> steps:
> - marshal:
> beanio:
> mapping: "mappings.xml"
> streamName: "personStream"
> - to: "mock:beanio-marshal"
> {code}
> With mapping.xml file
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <beanio xmlns="http://www.beanio.org/2012/03"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.beanio.org/2012/03
> http://www.beanio.org/2012/03/mapping.xsd">
> <stream name="personStream" format="delimited" strict="true">
> <record name="person" class="Person">
> <field name="firstName" />
> <field name="lastName" />
> </record>
> </stream>
> </beanio>
> {code}
> and Pojo
> {code:java}
> public class Person {
> private String firstName;
> private String lastName;
> // Getters and Setters
> public String getFirstName() {
> return firstName;
> }
> public void setFirstName(String firstName) {
> this.firstName = firstName;
> }
> public String getLastName() {
> return lastName;
> }
> public void setLastName(String lastName) {
> this.lastName = lastName;
> }
> @Override
> public String toString() {
> return firstName + " " + lastName;
> }
> }
> {code}
> Run via
> {code}
> camel run test.yaml mappings.xml Person.java
> {code}
> Result:
> {code}
> 2025-10-20 09:25:50.810 INFO 23525 --- [ main]
> he.camel.cli.connector.LocalCliConnector : Camel JBang CLI enabled
> org.apache.camel.FailedToCreateRouteException: Failed to create route: route1
> at: >>>
> Unmarshal[org.apache.camel.model.dataformat.BeanioDataFormat@52354202] <<< in
> route: Route(route1)[From[direct:unmarshal] -> [Unmarshal[org.apach...
> because: Error binding property (encoding=UTF-8) with name: encoding on bean:
> org.apache.camel.dataformat.beanio.BeanIODataFormat@6b1321b7 with value: UTF-8
> at
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:246)
> at
> org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:88)
> at
> org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:765)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:626)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2631)
> at
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2249)
> at
> org.apache.camel.support.service.BaseService.start(BaseService.java:115)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2268)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
> at org.apache.camel.main.KameletMain.doStart(KameletMain.java:401)
> at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> at
> org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1657)
> at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:1007)
> at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:370)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
> at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
> at picocli.CommandLine.access$1500(CommandLine.java:148)
> at
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
> at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
> at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
> at
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
> at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
> at picocli.CommandLine.execute(CommandLine.java:2174)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:205)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:72)
> at main.CamelJBang.main(CamelJBang.java:36)
> Caused by: org.apache.camel.PropertyBindingException: Error binding property
> (encoding=UTF-8) with name: encoding on bean:
> org.apache.camel.dataformat.beanio.BeanIODataFormat@6b1321b7 with value: UTF-8
> at
> org.apache.camel.support.PropertyBindingSupport.setSimplePropertyViaConfigurer(PropertyBindingSupport.java:808)
> at
> org.apache.camel.support.PropertyBindingSupport.doSetPropertyValue(PropertyBindingSupport.java:563)
> at
> org.apache.camel.support.PropertyBindingSupport.doBuildPropertyOgnlPath(PropertyBindingSupport.java:420)
> at
> org.apache.camel.support.PropertyBindingSupport.doBindProperties(PropertyBindingSupport.java:300)
> at
> org.apache.camel.support.PropertyBindingSupport$Builder.bind(PropertyBindingSupport.java:1939)
> at
> org.apache.camel.reifier.dataformat.DataFormatReifier.configureDataFormat(DataFormatReifier.java:314)
> at
> org.apache.camel.reifier.dataformat.DataFormatReifier.createDataFormat(DataFormatReifier.java:248)
> at
> org.apache.camel.reifier.dataformat.DataFormatReifier.getDataFormat(DataFormatReifier.java:113)
> at
> org.apache.camel.reifier.dataformat.DataFormatReifier.getDataFormat(DataFormatReifier.java:73)
> at
> org.apache.camel.reifier.UnmarshalReifier.createProcessor(UnmarshalReifier.java:35)
> at
> org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:843)
> at
> org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:616)
> at
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:238)
> ... 28 more
> Caused by: org.apache.camel.RuntimeCamelException:
> org.apache.camel.NoTypeConversionAvailableException: No type converter
> available to convert from type: java.lang.String to the required type:
> java.nio.charset.Charset
> at
> org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:53)
> at
> org.apache.camel.support.component.PropertyConfigurerSupport.property(PropertyConfigurerSupport.java:104)
> at
> org.apache.camel.dataformat.beanio.BeanIODataFormatConfigurer.configure(BeanIODataFormatConfigurer.java:42)
> at
> org.apache.camel.support.PropertyBindingSupport.setSimplePropertyViaConfigurer(PropertyBindingSupport.java:806)
> ... 40 more
> Caused by: org.apache.camel.NoTypeConversionAvailableException: No type
> converter available to convert from type: java.lang.String to the required
> type: java.nio.charset.Charset
> at
> org.apache.camel.impl.converter.CoreTypeConverterRegistry.mandatoryConvertTo(CoreTypeConverterRegistry.java:207)
> at
> org.apache.camel.impl.converter.CoreTypeConverterRegistry.mandatoryConvertTo(CoreTypeConverterRegistry.java:188)
> at
> org.apache.camel.support.component.PropertyConfigurerSupport.property(PropertyConfigurerSupport.java:102)
> ... 42 more
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)