Hi,

I am able to use xslt-saxon in 4.6.0, specifying a transform as
file:src/xslt/test.xslt.

I'm using the configuration a few paragraphs below, in Camel 4.6.0, from
Eclipse.

Given a file uri the xslt takes the incoming XML and, as expected, outputs
<hello3/>.
Given a header of CamelXsltResourceUri set to either
constant("file:src/xslt/test.xslt") or simple("file:src/xslt/test.xslt"),
with or without adding the prefix xslt-saxon, I get the error that follows
the configuration code.  I have a similar problem when I put the transform
itself into the header CamelXsltStylesheet.

The docs (for xslt-saxon, despite the use of xslt in the example), say:

When using a header for dynamic stylesheet, then you can either refer to
the stylesheet as a file or classpath with the header CamelXsltResourceUri,
such as:

from("direct:transform")
    .setHeader("CamelXsltResourceUri",
simple("file:styles/${header.region}.xsl"))
    .to("xslt:template.xsl?allowTemplateFromHeader=true


Configuration:

@Override

public void configure() throws Exception {

// TODO Auto-generated method stub

from("timer:xslttimer?period=20000")

.routeId("xsltRunnerId")

.setBody(constant("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+"<Test/>"))

.log(LoggingLevel.INFO, "${body}")

// I've tried adding xslt-saxon: prior to file:

// in setHeader, but neither worked

.setHeader(

"CamelXsltResourceUri",

simple("file:src/xslt/test.xslt"))

//.constant("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

// + "<xsl:stylesheet version=\"2.0\" xmlns:xsl=\"
http://www.w3.org/1999/XSL/Transform\";>"

// + " <xsl:template match=\"/\">"

// + " <hello3/>"

// + " </xsl:template></xsl:stylesheet>")

// THIS WORKS WHEN UNCOMMENTED

//.to("xslt-saxon:file:src/xslt/test.xslt")

// THIS DOES NOT WORK WHEN UNCOMMENTED

.to("xslt-saxon?allowTemplateFromHeader=true")

.log(LoggingLevel.INFO, "${body}");

}

}


org.apache.camel.FailedToCreateRouteException: Failed to create route
xsltRunnerId at:

>>> To[xslt-saxon?allowTemplateFromHeader=true] <<<

in route: Route(xsltRunnerId)[From[timer:xslttimer?period=20000] ->

[S... because of No endpoint could be found for:
xslt-saxon?allowTemplateFromHeader=true,

please check your classpath contains the needed Camel component jar.

at
org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:234)
~[camel-core-reifier-4.6.0.jar:4.6.0]

at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:85)
~[camel-core-reifier-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
~[camel-core-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:728)
~[camel-core-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:594)
~[camel-core-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2391)
~[camel-base-engine-4.6.0.jar:4.6.0]

at org.apache.camel.support.service.BaseService.init(BaseService.java:78)
~[camel-api-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2027)
~[camel-base-engine-4.6.0.jar:4.6.0]

at org.apache.camel.support.service.BaseService.start(BaseService.java:105)
~[camel-api-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2046)
~[camel-base-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:212)
~[camel-core-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:119)
~[camel-spring-4.6.0.jar:4.6.0]

at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:151)
~[camel-spring-4.6.0.jar:4.6.0]

at
org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:384)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:984)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
~[spring-context-6.1.10.jar:6.1.10]

at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
~[spring-boot-3.2.7.jar:3.2.7]

at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
~[spring-boot-3.2.7.jar:3.2.7]

at
org.springframework.boot.SpringApplication.run(SpringApplication.java:335)
~[spring-boot-3.2.7.jar:3.2.7]

at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1363)
~[spring-boot-3.2.7.jar:3.2.7]

at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1352)
~[spring-boot-3.2.7.jar:3.2.7]

at com.jmc.demo.DemoApplication.main(DemoApplication.java:10) ~[classes/:na]

Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be
found for: xslt-saxon?allowTemplateFromHeader=true, please check your
classpath contains the needed Camel component jar.

at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:785)
~[camel-base-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:731)
~[camel-base-engine-4.6.0.jar:4.6.0]

at
org.apache.camel.support.CamelContextHelper.resolveEndpoint(CamelContextHelper.java:128)
~[camel-support-4.6.0.jar:4.6.0]

at
org.apache.camel.reifier.SendReifier.resolveEndpoint(SendReifier.java:47)
~[camel-core-reifier-4.6.0.jar:4.6.0]

at
org.apache.camel.reifier.SendReifier.createProcessor(SendReifier.java:37)
~[camel-core-reifier-4.6.0.jar:4.6.0]

at
org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:882)
~[camel-core-reifier-4.6.0.jar:4.6.0]

at
org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:622)
~[camel-core-reifier-4.6.0.jar:4.6.0]

at
org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:230)
~[camel-core-reifier-4.6.0.jar:4.6.0]

... 25 common frames omitted


I've added the file camel-xslt-saxon-4.6.0.jar
<https://repo1.maven.org/maven2/org/apache/camel/camel-xslt-saxon/4.6.0/camel-xslt-saxon-4.6.0.jar>
to
my classpath, fwiw.


Any and all suggestions would be welcom.


Thanks,

Mitch

Reply via email to