3

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

それを克服するために何ができるでしょうか?

ありがとう。

4

1 に答える 1