7

wsimport ツール (Maven Jax-WS による) を使用した Java アーティファクトの生成に関する質問があります。

WSDL から Java アーティファクトを生成するときに、Web サービス プロジェクトを WAR ファイルとしてパックし、そのクライアントを JAR ファイルとしてパックしたいと考えています。

生成されたアーティファクトをどこに配置し、WSDL をどこに配置するか? Web サービス プロジェクトの編成に関するベスト プラクティスは何ですか?

前もって感謝します!

敬具、 ジュリカ・クリザニッチ

4

2 に答える 2

3

アーティファクトはクライアント側とサーバー側の両方で必要になるため、それらを 3 番目の jar にパックし、両方の依存関係として設定します。WSDL は war の WEB-INF フォルダーに移動し、そのパスを反映するようにwsdlLocation属性を設定する必要が@WebServiceあります。@WebServiceClient

于 2012-08-31T19:05:14.877 に答える
1

マネージド サービスのパッケージ化オプションは、JSR 109: Web Services for Java EE, Version 1.3 で定義されています。

サービスの場合:

5.4.2 EJB モジュールのパッケージ化

...EJB-JAR ファイル内の Web サービス デプロイメント記述子の場所は ですMETA-INF/webservices.xml。wsdl ディレクトリは にあり META-INF/wsdlます。

5.4.3 Web アプリ モジュールのパッケージ化

...Web サービスのデプロイメント記述子は の WAR に WEB-INF/webservices.xmlあり、wsdl ディレクトリは にあり WEB-INF/wsdlます。

クライアントの場合:

クライアントは、Java EE アプリケーション クライアント、Web コンポーネント、EJB コンポーネント、または別の Web サービスのいずれかです。

モジュール内の Web サービス クライアント デプロイメント記述子の場所は、モジュール固有です。WSDL ファイルは、モジュールのルートに対して相対的に配置され、通常はwsdl、モジュール デプロイメント記述子と同じ場所にあるディレクトリまたはそのサブディレクトリに配置されます。

この仕様は、Java EE クライアントに限定されていることに注意してください。明示的に WSDL を提供するアンマネージド クライアントを使用できないという意味ではありません。

詳細については、これらの仕様を相互参照してください。

于 2012-09-03T10:49:54.257 に答える