Hi I am using cMessagingEndpoint for xslt. It works locally in studio, however while deploying the same in ESB run time I am getting the following error:
INFO | jvm 1 | 2016/10/27 15:39:10 | Caused by: java.io.FileNotFoundException: \etc\mytransform.xsl (The system cannot find the path specified) INFO | jvm 1 | 2016/10/27 15:39:10 | at java.io.FileInputStream.open(Native Method) INFO | jvm 1 | 2016/10/27 15:39:10 | at java.io.FileInputStream.<init>(FileInputStream.java:146) INFO | jvm 1 | 2016/10/27 15:39:10 | at java.io.FileInputStream.<init>(FileInputStream.java:101) INFO | jvm 1 | 2016/10/27 15:39:10 | at org.apache.camel.util.ResourceHelper.resolveResourceAsInputStream(ResourceHelper.java:111) INFO | jvm 1 | 2016/10/27 15:39:10 | at org.apache.camel.util.ResourceHelper.resolveMandatoryResourceAsInputStream(ResourceHelper.java:87) INFO | jvm 1 | 2016/10/27 15:39:10 | at org.apache.camel.builder.xml.XsltUriResolver.resolve(XsltUriResolver.java:89)
Please help how to set the xslt file in talend run time classpath and how to configure the same in cMessagingEndpoint component.
... and is the file available in this location on your runtime server? The path looks like the server should run Windows, otherwise the path can hardly work. If your server runs Linux and you develop under Windows, it is a good practice to always write a file path as UNIX path because Java can resolve such a path unter Windows in the c-drive.
Yes, the talend esb runtime is in Windows. The xsl file in the same location however it does not take that file and gives the file not found error. Only absolute path is working. what is the best way to set that xslt file in classpath. I tried many ways but none of them working and gives the file not found exception.
To put something in the classpath you should put it into a jar file and load that file with tLibraryLoad.
But most components cannot deal with resources in a jar.
The best way is actually to put such a resource on a fix location and refer to it with an absolute path.