[ 
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)

Reply via email to