[
https://issues.apache.org/activemq/browse/CAMEL-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42221#action_42221
]
Claus Ibsen commented on CAMEL-457:
-----------------------------------
Torsten the bug must be a ServiceMix only.
In pure Camel I do get a compile stylesheet error during creating of the routes.
Using this simple unit route builder where invalid.xsl is your xsl file with no
changes.
{code}
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
from("seda:a").to("xslt:org/apache/camel/component/xslt/invalid.xsl");
}
};
}
{code}
{code}
ERROR: 'line 35: Variable or parameter 'datetimemod' is undefined.'
FATAL ERROR: 'Could not compile stylesheet'
org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint:
xslt:org/apache/camel/component/xslt/invalid.xsl due to:
javax.xml.transform.TransformerConfigurationException: Could not compile
stylesheet
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:260)
at
org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:52)
at org.apache.camel.model.RouteType.resolveEndpoint(RouteType.java:92)
at
org.apache.camel.impl.RouteContext.resolveEndpoint(RouteContext.java:95)
at
org.apache.camel.impl.RouteContext.resolveEndpoint(RouteContext.java:104)
at org.apache.camel.model.ToType.resolveEndpoint(ToType.java:78)
at org.apache.camel.model.ToType.createProcessor(ToType.java:72)
at
org.apache.camel.model.ProcessorType.makeProcessor(ProcessorType.java:1385)
at org.apache.camel.model.ProcessorType.addRoutes(ProcessorType.java:93)
at org.apache.camel.model.RouteType.addRoutes(RouteType.java:189)
at org.apache.camel.model.RouteType.addRoutes(RouteType.java:83)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:438)
at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:430)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
at
org.apache.camel.ContextTestSupport.startCamelContext(ContextTestSupport.java:108)
at org.apache.camel.ContextTestSupport.setUp(ContextTestSupport.java:81)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: javax.xml.transform.TransformerConfigurationException: Could not
compile stylesheet
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:619)
at
org.apache.camel.builder.xml.XsltBuilder.setTransformerSource(XsltBuilder.java:204)
at
org.apache.camel.builder.xml.XsltBuilder.setTransformerInputStream(XsltBuilder.java:234)
at
org.apache.camel.component.xslt.XsltComponent.createEndpoint(XsltComponent.java:66)
at
org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:71)
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:236)
... 33 more
{code}
> Camel should raise an exception if parsing of xslt file fails
> -------------------------------------------------------------
>
> Key: CAMEL-457
> URL: https://issues.apache.org/activemq/browse/CAMEL-457
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 1.3.0
> Environment: Camel 1.3.2.0, xslt component
> Reporter: Torsten Mielke
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 1.4.0
>
> Attachments: CAMEL-457.patch, CamelXSLTTestcase.zip
>
>
> Consider a Camel route that involves an xslt component. When Camel sets up
> the route, the XsltBuilder ignores any errors coming from the xerces xml
> parser and continues constructing the route even though the xslt transformer
> is not initialized.
> Later when the route is executed Camel correctly checks if the transformer is
> initialized and raises an error if not:
> java.lang.IllegalArgumentException: No transformer configured!
> However in case of a parse error in the xslt file, the whole route becomes
> unusable and the setup routine that constructs the route should fail with an
> appropriate error message. A sanity check needs to be added in method
> org.apache.camel.builder.xml.XsltBuilder.setTransformerSource(javax.xml.transform.Source).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.