[
https://issues.apache.org/jira/browse/CAMEL-18914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17676623#comment-17676623
]
Nicolas Filotto commented on CAMEL-18914:
-----------------------------------------
As it seems to be a parsing issue, I've just tried to add the following test to
[XmlRoutesBuilderLoaderTest|https://github.com/apache/camel/blob/camel-3.x/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java]
{code:java}
@Test
public void canLoadTemplatedRoutes() throws Exception {
String content = ""
+ "<templatedRoutes
xmlns=\"http://camel.apache.org/schema/spring\">\n"
+ " <templatedRoute routeId=\"xmltojson_test1-1\"
routeTemplateRef=\"https-source\">\n"
+ " <parameter name=\"uri\"
value=\"https://0.0.0.0:9001/1/XmlToJson\"/>\n"
+ " </templatedRoute>\n"
+ "</templatedRoutes>";
Resource resource = ResourceHelper.fromString("in-memory.xml", content);
RouteBuilder builder = (RouteBuilder) new
XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
builder.setCamelContext(new DefaultCamelContext());
builder.configure();
assertFalse(builder.getTemplatedRouteCollection().getTemplatedRoutes().isEmpty());
}
{code}
And it worked as expected, so I'm wondering if there is an integration issue on
your side like a mix of different versions of Camel in your classpath or
something like that?
> camel-core - TemplatedRoute fails to load with XML RouteLoader
> --------------------------------------------------------------
>
> Key: CAMEL-18914
> URL: https://issues.apache.org/jira/browse/CAMEL-18914
> Project: Camel
> Issue Type: Bug
> Components: came-core
> Affects Versions: 3.20.1
> Reporter: Raymond
> Priority: Major
> Fix For: 3.20.2, 3.21.0, 4.0
>
>
> I have a templatedRoute like this:
>
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?><templatedRoutes
> xmlns="http://camel.apache.org/schema/spring">
> <templatedRoute routeId="xmltojson_test1-1" routeTemplateRef="https-source">
> <parameter name="uri" value="https://0.0.0.0:9001/1/XmlToJson"/>
> </templatedRoute>
> </templatedRoutes>
>
> {code}
> With the RoutesLoader I load the route:
>
> {code:java}
> context = getContext();
> ExtendedCamelContext extendedCamelContext =
> context.adapt(ExtendedCamelContext.class);
> RoutesLoader loader = extendedCamelContext.getRoutesLoader();
> loader.loadRoutes(resource);
> {code}
> Until 3.19.0 this worked, but in 3.20.1 I get an error:
> {code:java}
> org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> '{}templatedRoute'
> at
> org.apache.camel.xml.in.BaseParser.handleUnexpectedElement(BaseParser.java:254)
> at org.apache.camel.xml.in.BaseParser.doParse(BaseParser.java:130)
> at
> org.apache.camel.xml.in.ModelParser.doParseTemplatedRoutesDefinition(ModelParser.java:1416)
> at
> org.apache.camel.xml.in.ModelParser.parseTemplatedRoutesDefinition(ModelParser.java:1397)
> at
> org.apache.camel.dsl.xml.io.XmlRoutesBuilderLoader$1.configure(XmlRoutesBuilderLoader.java:53)
> at
> org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:726)
> at
> org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:668)
> at
> org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:600)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.addRoutes(AbstractCamelContext.java:1201)
> at org.apache.camel.spi.RoutesLoader.loadRoutes(RoutesLoader.java:83)
> at
> org.assimbly.dil.loader.FlowLoader.loadStep(FlowLoader.java:218){code}
> This happens to all routetemplates I load.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)