As requested I created a unit test to reproduce the problem. I attached 3 files:
+ TestXmlFragment.java
+ TestXmlFragment-context.xml
+ transform.xsl

Attachment: TestXmlFragment.java
Description: Binary data

Attachment: transform.xsl
Description: Binary data

<beans
  xmlns="http://www.springframework.org/schema/beans";
  xmlns:amq="http://activemq.apache.org/schema/core";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
  http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>

    <camelContext xmlns="http://activemq.apache.org/camel/schema/spring";>
        <route>
            <from uri="direct:test"/>
            <setHeader headerName="agent.xml">
                <xpath>//fragment</xpath>
            </setHeader>
               <to uri="log:domeo.?showHeaders=true"/>
            <to uri="xslt:domeo/integration/camel/transform.xsl"/>
            <to uri="mock:result"/>
        </route>
    </camelContext>

</beans>
It fails with the same error:
ERROR:  'Invalid conversion from 'com.sun.org.apache.xml.internal.dtm.ref.DTMNodeList' to 'node-set'.'
May 12, 2009 9:52:12 AM org.apache.camel.processor.Logger log
SEVERE: Failed delivery for exchangeId: ID-gerstree-wifi.offc.avisi.nl/63009-1242114731842/0-0. On delivery attempt: 0 caught: javax.xml.transform.TransformerException: java.lang.RuntimeException: Invalid conversion from 'com.sun.org.apache.xml.internal.dtm.ref.DTMNodeList' to 'node-set'.
javax.xml.transform.TransformerException: java.lang.RuntimeException: Invalid conversion from 'com.sun.org.apache.xml.internal.dtm.ref.DTMNodeList' to 'node-set'.
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:717)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
        at org.apache.camel.builder.xml.XsltBuilder.process(XsltBuilder.java:83)
        at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
        at org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
        at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
        at org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
        at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:47)
        at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:151)
        at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:88)
        at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:93)
        at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeader(DefaultProducerTemplate.java:131)
        at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeader(DefaultProducerTemplate.java:126)
        at domeo.integration.camel.TestXmlFragment.testFragmentPassedToXslt(TestXmlFragment.java:28)


On 5 mei 2009, at 13:11, Gert Vanthienen wrote:

Gert-Jan,

It seems like a reasonable use case so I'd like to give it a shot to
fix this.  Do you think you can create a unit test or something that
demonstrates the problem?  That would make it a lot easier to
troubleshoot and fix your issue.

Regards,

Gert Vanthienen
------------------------
Open Source SOA: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/


Reply via email to