Reputation: 1657
I try to make WSDL with Axis Java2WSDL class, and get an error that my target class not found.
Here are the steps that I did:
I started with a tutorial from here: http://axis.apache.org/axis/java/user-guide.html#Step_2:_Create_WSDL_using_Java2WSDL
A. I added the path to the files
to AXISCLASSPATH, and as well I added the path to the directory containing the files to the CLASSPATH var, so they look like
AXISCLASSPATH='C:\Program Files\Java\axis'\axis.jar;'C:\Program Files\Java\axis'\commons-discovery-0.2.jar;'C:\Program Files\Java\axis'\commons-loggin g.jar;'C:\Program Files\Java\axis'\jaxrpc.jar;'C:\Program Files\Java\axis'\saaj.jar;'C:\Program Files\Java\axis'\log4j-1.2.17.jar;'C:\Program Files\Java\axis'\xml-apis.jar;'C:\Program Files\Java\axis'\xercesImpl.jar;'C:\Program Files\Java\axis'\wsdl4j.jar
CLASSPATH=C:\Program Files\Java\axis\*;C:\Dev\webworkspace\WSDLGENTEST\src\test\*
B. I created a sample interface I1
package test; public interface I1 { public void f1(); }
C. I built the interface and seen the I1.class file in
C:\Dev\webworkspace\WSDLGENTEST\src\test\
D.I ran a command
java org.apache.axis.wsdl.Java2WSDL -o wp.wsdl
-l"http://localhost:8080/WSDLGENTEST/services/Greeting"
-n"urn:test" -p"test" "urn:test" test.I1
and got an error of
java.lang.ClassNotFoundException: test.I1 at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:187) at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160) at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100) at org.apache.axis.wsdl.fromJava.Emitter.setCls(Emitter.java:2079) at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:584) at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:682)
C:\Dev\workworkspace\test1\bin\test\
and also from
C:\Dev\workworkspace\test1\bin\
I1, test.I1, test/I1, ./test.I1, C:\Dev\workworkspace\test1\bin\test\test\I1, C:\Dev\workworkspace\test1\bin\test\test.I1,
params, always getting the same error. He just seems to be not able to locate the file.
CLASSPATH=C:\Program Files\Java\axis\*;C:\Dev\webworkspace\WSDLGENTEST\src;C:\Dev\webworkspace\WSDLGENTEST\src\*;C:\Dev\webworkspace\WSDLGENTEST\src\test\;C:\Dev\webworkspace\WSDLGENTEST\src\test\*;C:\Dev\webworkspace\WSDLGENTEST\src\test\I1.class
still thesame error.
E. I compiled and ran a sample java hello world class just to check the java and paths work - the helloworld class printed what it needed, but the Java2WSDL does not work.
C:\Dev\workworkspace\test1\bin>java -cp . test/c1 Picked up
_JAVA_OPTIONS: -Xmx512M
ohoho
What can be done to overcome it?
Thanks.
Upvotes: 2
Views: 2463
Reputation: 11
Had the same issue then I appended my CLASSPATH (my classpath also target all the axis jars) with '.' the current directory.
CLASSPATH=.
Then this worked out:
"%javabin%\java.exe" -cp %CLASSPATH% org.apache.axis.wsdl.Java2WSDL
Upvotes: 1