[
https://issues.apache.org/jira/browse/CAMEL-17985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17524432#comment-17524432
]
Bruno Mendola commented on CAMEL-17985:
---------------------------------------
Exactly, I defined it like in this snippet:
{code:java}
camelContext.getRegistry().bind("camelResource-2", new String(xsltContent,
StandardCharsets.UTF_8)); {code}
the data comes from the database and xsltContent is a byte array, but you get
the point.
Looks like that XsltUriResolver doesn't get to call
ResouceHelper.resolveMandatoryResourceAsInputStream because the "ref:" scheme
is not recognized.
> camel-core - ResourceHelper does not support ref: scheme
> --------------------------------------------------------
>
> Key: CAMEL-17985
> URL: https://issues.apache.org/jira/browse/CAMEL-17985
> Project: Camel
> Issue Type: Bug
> Reporter: Bruno Mendola
> Priority: Minor
> Attachments: image-2022-04-19-16-58-23-222.png
>
>
> When trying to load a registry resource as XSLT source, XsltUriResolver uses
> *ResourceHelper* to check the scheme and then load the resource.
> {{ResourceHelper.hasScheme(String)}} only supports "file:", "classpath:",
> "http:" and "https:" schemes, so the "ref:" uri fails to validate and is not
> correctly handled (the prefix "classpath:" is automatically appended).
> !image-2022-04-19-16-58-23-222.png|width=674,height=176!
> The resulting exception when using a "ref:" uri is the following:
> {code:java}
> javax.xml.transform.TransformerException: java.io.FileNotFoundException:
> Cannot find resource: classpath:ref:camelResource-2 for URI:
> classpath:ref:camelResource-2
> at
> org.apache.camel.component.xslt.XsltUriResolver.resolve(XsltUriResolver.java:92)
> at
> org.apache.camel.component.xslt.XsltUriResolver.resolve(XsltUriResolver.java:100)
> at
> org.apache.camel.component.xslt.XsltEndpoint.loadResource(XsltEndpoint.java:322)
> at
> org.apache.camel.component.xslt.XsltEndpoint.doStart(XsltEndpoint.java:351)
> at
> org.apache.camel.support.service.BaseService.start(BaseService.java:119)
> ... 49 common frames omitted
> Caused by: java.io.FileNotFoundException: Cannot find resource:
> classpath:ref:camelResource-2 for URI: classpath:ref:camelResource-2
> at
> org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsInputStream(ResourceHelper.java:114)
> at
> org.apache.camel.component.xslt.XsltUriResolver.resolve(XsltUriResolver.java:90)
> ... 53 common frames omitted{code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)