Thursday, April 17, 2008

Solution: java.lang.NoClassDefFoundError: org/apache/ode/tools/sendsoap/cline/HttpSoapSender

Of late, I have been involved in evaluating a few workflow engines to see their usefulness for my purpose. One of the candidates was Apache Ode. Just that it was a product of Apache itself qualified it for the evaluation.

I was trying to get it up on a linux box, specifically Ubuntu 7.10. I had it deployed in tomcat and Apache Ode was up and running. I tried testing it with

bin/sendsoap http://localhost:8080/ode/processes/helloWorld examples/HelloWorld2/testRequest.soap


It came back with java.lang.NoClassDefFoundError: org/apache/ode/tools/sendsoap/cline/HttpSoapSender

Examining the sendmail code , this stood out.
# Add Ode libraries
for f in ls $LIB/*.jar
do
LOCALCLASSPATH=$LOCALCLASSPATH:$f
done

While this is intended to get all jar files in $LIB path, it fails when there is a space in $LIB path.

The path I was working out of was /home/sharmi/Work/trials/apache ode/apache-ode-war-1.1.1
The space in 'apache ode' was the spoiler.
Changing the path to /home/sharmi/Work/trials/apacheode/apache-ode-war-1.1.1 did the trick :)

No comments: