2012-08-31 4 views
7

を梱包するためのベストプラクティスコード - 私は(MavenのJAX-WSによる)wsimportのツールでのJava成果物の生成に関する質問があるコード

私はWSDLからJava成果物を生成すると、私はパックしたいと思いますWARファイルとしてのWebサービスプロジェクト、およびJARファイルとしてのクライアントです。

ここで、生成された成果物とWSDLを配置する場所を入れますか? Webサービスプロジェクトの編成に関するベストプラクティスは何ですか?

ありがとうございます!

敬具、 ユリカKrizanic

答えて

3

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

+0

ありがとう:詳細について

クロスリファレンスこれらの仕様答えのために。 WARファイルの中にWSDLを置く場所を知っていますか?私はいくつかのwsdlの読み込みの問題があります... –

+0

@JuricaKrizanic私の答えを編集しました。 – zeller

+0

wsimportによって生成されたコードは、サーバー側とクライアント側に同じですか? –

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サービス・デプロイメント・ディスクリプタは WEB-INF/webservices.xmlにWARに位置し、WSDLディレクトリは WEB-INF/wsdlに位置しています。クライアントの場合

:Java EEアプリケーションクライアント、Webコンポーネント、EJBコンポーネント、または別のWebサービス:

クライアントは、次のいずれかとすることができます。

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

この仕様はJava EEクライアントに限定されていることに注意してください。明示的にWSDLを提供する場所がunmanaged clientになることを意味するものではありません。

関連する問題