Guillaume,
You are right.
I had a wrong xalan jar in my repository I suppose...
Is there any way to be sure of the jars I have in my repository. It is
not the first time I have problems with that...
Thanks,
Charles
Guillaume Nodet wrote:
It seems that the 2.7.0 distribution of xalan comes with separate jars
for the org.apache.xml.serializer package. As you said, this package
is inside the serializer.jar.
However, the xalan-2.7.0.jar that ships with ServiceMix comes from
http://ibiblio.org/maven/xalan/jars/xalan-2.7.0.jar, and this one
includes the org.apache.xml.serializer package.
Are you using this version or your own one ?
Cheers,
Guillaume Nodet
Guillaume Nodet wrote:
Thanks for finding the problem.
I will fix that.
Cheers,
Guillaume Nodet
Charles Souillard wrote:
Guillaume,
in fact until xalan 2.6, the part concerning the serializer was
included in the xalan jar. From 2.7.0, this part is in an external
jar called serializer.jar.
The org/apache/xml/serializer/TreeWalker class is in this jar. I
think as it is mentionned on the xalan web site, you should include
this jar in the lib dir.
http://xml.apache.org/xalan-j/downloads.html
4 jars are mandatory :
# xml-apis.jar (JAXP APIs)
# xercesImpl.jar (or another XML Parser
<http://xml.apache.org/xalan-j/usagepatterns.html#plug>)
# xalan.jar or xsltc.jar
# serializer.jar
Can you add serializer.jar into SM lib dir ?
Thanks,
Charles
Guillaume Nodet wrote:
Charles Souillard wrote:
Hi all,
I have exposed a service and I am now trying to call it.
I have taken some stuff from the examples to create a simple
component receiving a jms message and sending it to my SE.
The message is well delivered to my SE and I am trying to send it
to my external application
I have written a specific ExchangeProcessor extanding the common
one of SM. When executing the process method I get the in message
from the NM and I want to send it through the channel thanks to
this.channel.sendSync(exchange);
I get an error concerning org/apache/xml/serializer/TreeWalker
class. This class is in xalan jar in SM lib dir so it should be
available ? I am rigth on this point ?
Yes, it should be.
I' m not a class loaders expert, but AFAIK, when a class is
requested, it is loaded from the
same ClassLoader that loaded the caller class (in this case,
org.apache.xalan.processor.TransformerFactoryImpl).
So I do not see why it can not find the needed class.
Cheers,
Guillaume Nodet
Here is the stack trace :
Exception in thread "session Task" java.lang.NoClassDefFoundError:
org/apache/xml/serializer/TreeWalker
at
org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:821)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.createTransfomer(SourceTransformer.java:360)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:77)
at
org.apache.servicemix.jbi.jaxp.SourceMarshaler.asString(SourceMarshaler.java:36)
at
org.apache.servicemix.components.jms.JmsMarshaler.messageAsString(JmsMarshaler.java:91)
at
org.apache.servicemix.components.jms.JmsMarshaler.createMessage(JmsMarshaler.java:68)
at
org.apache.servicemix.components.jms.JmsServiceComponent$1.createMessage(JmsServiceComponent.java:219)
at
org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:568)
at
org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:547)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504)
at
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:545)
at
org.apache.servicemix.components.jms.JmsServiceComponent.onMessage(JmsServiceComponent.java:216)
at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:715)
at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:93)
at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:146)
at
org.apache.activemq.thread.SimpleTaskRunner.runTask(SimpleTaskRunner.java:110)
at
org.apache.activemq.thread.SimpleTaskRunner.access$100(SimpleTaskRunner.java:25)
at
org.apache.activemq.thread.SimpleTaskRunner$1.run(SimpleTaskRunner.java:43)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Thanks for your help
Regards,
Charles