2

ここに私の問題があります。

wsdl2java ツールを使用して、Web サービスを Java API に変換しています。問題は、Java スタブを生成するときに、コードに次のようなものが含まれていることです。

public void function(com.xxxxx.ssssss.Myclass myclass){...}

私の質問は:

この部分 " " をコード全体から削除com.xxxxx.sssss.し、インポート セクションに配置する方法など、手動ではありません。長すぎるためです。

ありがとうございました

4

1 に答える 1

2

これらのクラスの大部分は、まったく編集すべきではありません。それらを WSDL から生成するだけで十分です。はい、それらは冗長になりますが、それを受け入れる必要があります (または、もちろん、CXF プロジェクト用のより優れたコード ジェネレーターに取り組むことを申し出てください!)。

編集できる1 つのクラスは、オプション…Impl.javaで生成されるスケルトン ( ) です。実際、それは、あなたの仕事であるサービスの実装ロジックが含まれているため、編集する必要が-implあるソース ファイルです。正しいインターフェイスを実装し、正しい注釈を付けていれば、一度生成すると、その後は必要に応じて変更できます。特に、リファクタリング ツールを使用して宣言を生成するのはまったく問題ありません (これは Eclipse で簡単に行うことができます。他の Java IDE も同様の機能をサポートしていないとしたら、私は驚くでしょう)。import

元の WSDL を大幅に変更し始めた場合にのみ、軟膏の実際のハエが発生します。メソッドの追加と削除はそれほど難しくありませんが、変更が大きければ大きいほど、サポートする作業が増えます。サービス スケルトンを最初から再生成する必要があるかどうかを慎重に検討する必要があるかもしれませんが、それにはすべての変更が必要になります。これを頻繁に行うことが予想される場合は、SOAP サービスへの実際の接続を再構築するだけで済むように、サービスの実際の実装の多くをワーカー クラスに分割することをお勧めします。(幸いなことに、Spring DI を使用すると、この種の因数分解の管理が非常に簡単になるため、とにかく使用することをお勧めします。)

于 2012-09-17T09:28:09.307 に答える