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








Reply via email to