You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Jothi <co...@gmail.com> on 2013/04/12 13:17:42 UTC

Strange Error with XSLT transformation

Hi all,

I'm facing a strange error when trying to perform an XSLT transformation on
an XML file which I read from the file system. Here is my route:

       
from("direct:processResponse").to("xslt:com/test/processor/response.xsl").to("direct:processedResponse");

        from("direct:processedResponse").to("activemq:{{my.queue}}");

       
from("file:C:\\Users\\joe\\Desktop\\resp").tracing().convertBodyTo(String.class).to("direct:processResponse");

When I tried to run this simple route, I see the following stack trace in my
log file:

org.apache.camel.ExpectedBodyTypeException: Could not extract IN message
body as type: interface javax.xml.transform.Source body is: <?xml
version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <sourceId>176722</sourceTradeId>
    <sourceVersion>12345</sourceVersion>
    <success>Y</success>
</response>

	at
org.apache.camel.builder.xml.XsltBuilder.getSource(XsltBuilder.java:346)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.builder.xml.XsltBuilder.process(XsltBuilder.java:105)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:102)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:72)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:284)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:59)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.Pipeline.process(Pipeline.java:116)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.Pipeline.process(Pipeline.java:79)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:132)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:284)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:171)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:59)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
	at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]

................
................
................
................
................
................
................
................



--
View this message in context: http://camel.465427.n5.nabble.com/Strange-Error-with-XSLT-transformation-tp5730764.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Strange Error with XSLT transformation

Posted by Raul Kripalani <ra...@evosent.com>.
Try enabling stream caching [1]. It's possible that the underlying stream
is slurped by the tracer before it even gets to the XSLT.

[1] http://camel.apache.org/stream-caching.html

*Raúl Kripalani*
Enterprise Architect, Open Source Integration specialist, Program
Manager | Apache
Camel Committer
http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
http://blog.raulkr.net | twitter: @raulvk

On Mon, Apr 15, 2013 at 9:32 AM, Jothi <co...@gmail.com> wrote:

> Sorry for the confusion. It was an editing mistake that I made. You can
> assume that the XML is properly formed. Has it got to do something with the
> camel core version that I'm using?
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Strange-Error-with-XSLT-transformation-tp5730764p5730880.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Re: Strange Error with XSLT transformation

Posted by Jothi <co...@gmail.com>.
Sorry for the confusion. It was an editing mistake that I made. You can
assume that the XML is properly formed. Has it got to do something with the
camel core version that I'm using?



--
View this message in context: http://camel.465427.n5.nabble.com/Strange-Error-with-XSLT-transformation-tp5730764p5730880.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Strange Error with XSLT transformation

Posted by Raul Kripalani <ra...@evosent.com>.
On Fri, Apr 12, 2013 at 12:17 PM, Jothi <co...@gmail.com> wrote:

> <?xml
> version="1.0" encoding="UTF-8" standalone="yes"?>
> <response>
>     <sourceId>176722</sourceTradeId>
>     <sourceVersion>12345</sourceVersion>
>     <success>Y</success>
> </response>
>

Your XML is badly formed. Notice the opening and closing tags of the
sourceId element.

*Raúl Kripalani*
Enterprise Architect, Open Source Integration specialist, Program
Manager | Apache
Camel Committer
http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
http://blog.raulkr.net | twitter: @raulvk

Re: Strange Error with XSLT transformation

Posted by Jothi <co...@gmail.com>.
I just got to know that it is a known issue.

http://fusesource.com/forums/message.jspa?messageID=12367

Will have to now use a workaround to solve this.



--
View this message in context: http://camel.465427.n5.nabble.com/Strange-Error-with-XSLT-transformation-tp5730764p5730885.html
Sent from the Camel - Users mailing list archive at Nabble.com.