Axis の Java2WSDL クラスで WSDL を作成しようとすると、対象のクラスが見つからないというエラーが発生します。
私が行った手順は次のとおりです。
ここからチュートリアルを始めました: http://axis.apache.org/axis/java/user-guide.html#Step_2:_Create_WSDL_using_Java2WSDL
A. ファイルへのパスを追加しました
AXISCLASSPATH に追加し、ファイルを含むディレクトリへのパスを CLASSPATH var に追加したので、次のようになります。
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\*
- 引用符なし、一重引用符と二重引用符を使用してパスを試しましたが、効果がありませんでした。
- C:\Dev\webworkspace\WSDLGENTEST\src\test\* - 作業ディレクトリへのパス。
B. サンプル インターフェイス I1 を作成しました
package test; public interface I1 { public void f1(); }
C. インターフェイスを作成し、I1.class ファイルを確認しました
C:\Dev\webworkspace\WSDLGENTEST\src\test\
DI がコマンドを実行しました
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
のエラーが発生しました
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(不明なソース) at java.lang.ClassLoader.loadClass(不明なソース) at sun.misc.Launcher$AppClassLoader.loadClass(不明なソース) at java.lang.ClassLoader.loadClass(不明なソース) org. apache.axis.utils.ClassUtils$2.run(ClassUtils.java:187) org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160) の java.security.AccessController.doPrivileged(Native Method) .apache.axis.utils.ClassUtils.forName(ClassUtils.java:100) org.apache.axis.wsdl.fromJava.Emitter.setCls(Emitter.java:2079) org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:584) で org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:682) で
- から実行してみました。
C:\Dev\workworkspace\test1\bin\test\
そしてまたから
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、常に同じエラーが発生します。彼はファイルを見つけることができないようです。
- パスと*の考えられるすべての順列でクラスパスを更新しました:
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
それでも同じエラー。
E. Java とパスが機能することを確認するためだけに、サンプルの Java hello world クラスをコンパイルして実行しました。helloworld クラスは必要なものを出力しましたが、Java2WSDL は機能しません。
C:\Dev\workworkspace\test1\bin>java -cp . test/c1 Picked up
_JAVA_OPTIONS: -Xmx512M
ohoho
それを克服するために何ができるでしょうか?
ありがとう。