現在、IBM WebService フレームワークを Axis2 に置き換える作業を行っています。WSDL ファイルからコードを生成するときは、Maven プラグイン WSDL2Code を使用します。ただし、作成されたコードは常に間違っています。むしろ、パッケージ名は常に間違っているため、呼び出されたすべてのメソッドが呼び出されなくなります (さらに多くのエラーが発生し、Eclipse では最大 10.000 以上のエラーが発生します)。
実際に何が起こっているかの例を次に示します (これは、私がアドバイスを得るために特別に作成した例にすぎません)。
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>Test</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<packageName>test.testpackage</packageName>
<databindingName>xmlbeans</databindingName>
<wsdlFile>${basedir}/wsdl/service.wsdl</wsdlFile>
<outputDirectory>${basedir}/testdirectory</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
理論的には、これにより、ディレクトリ testdirectory/test/testpackage に「test.testpackage」というパッケージ名のコードが生成されるはずです。ただし、代わりに、ディレクトリ testdirectory.src.test.testpackage に Src.test.testpackage というパッケージを作成します。パッケージ名とディレクトリの両方に常に「src」が追加されます。パッケージ名を src.test.testpackage に変更すると、src.src.test.testpackage というパッケージが生成されます。
もちろん、これは大きな問題につながります。なぜなら、生成されたすべてのファイルに次のエラーがあるからです。
私はここで完全に途方に暮れています。どこにでも「src」を追加する必要がある理由がまったく見つかりません。自動生成された build.xml ファイルに sourcedirectory = x/src (または同様のもの) という値が含まれていることに気付きましたが、この値に影響を与えるためにできることは何もありません (値を変更してからファイルを保存しようとしても違いはありません) 、明らかに、次回Mavenを実行したときに再び生成されるためです)。
ああ、私は通常、コマンド「mvn clean install」とバージョン 1.4.1 の WSDL2Code を使用するので、古い wsdl2code:wsdl2code バグの 1 つではありません。
ここで実際に何が間違っているのか誰かが知っているなら、私はそれを大いに感謝します.
前もって感謝します。