Web サービス クライアントの作成方法がわかりません。話は、Web サービスを呼び出す必要があるということです。私が理解しているように、Web サービスの正しいクラスを取得するには、どうにかして Web サービスを消費する必要があります。
私はこれを行うための多くの方法を調査しました。たとえば、スクリプトでそれらを消費してから、クラスをインポートしようとしました。
ただし、同僚は、既に Maven-2 を使用しているため、Maven プラグイン wsdl2code を使用してみることを勧めました。これを行うと機能しますが、私が見るように多くのジャンクファイルが作成されます. pom.xml ファイルに以下を追加しました。
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<packageName>ws.client.test</packageName>
<wsdlFile>http://localhost:8088/test?WSDL</wsdlFile>
<databindingName>xmlbeans</databindingName>
<outputDirectory>target/ws/test</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
これによりファイルが正常に作成されますが、前述のように、他の WSDLconsume よりも多くのジャンク ファイル (xmlsoap/schemas/soap/encoding/...) または少なくとも多くの使用されていないファイル (私が見ているように) もあります。私は試した。
質問
Web サービスを利用するための一般的なガイドラインはありますか? WSDL ファイルは外部にあるため、変更される可能性もあります。そのため、これを Maven で自動的に行うとよいと思いました (ただし、WSDL が突然変更された場合、他の副作用が発生する可能性があります...)。
wsdl2code が適切な選択である場合、
mvn clean の実行時にすべてのファイルが削除されるように、すべてのファイルを常にターゲット カタログに作成する必要がありますか?より適した他のツールはありますか?
更新/編集
たとえば JAX-WS wsimport を使用して、必要な生成ファイルを取得します。ただし、これらを /target-folder に作成することで、同じプロジェクトでそれらにアクセスして、実際に Web サービスを呼び出したいと考えています。これは可能ですか?