3

OSGi から動作する Web サービス クライアントを取得しようとしています。Felix をコンテナーとして使用しています。

これまで、Apache CXF を使用してみました。これは RPC/encoded であり、スタブを生成しようとするとサポートされないため、私の Web サービスでは機能しません。Apache Axis を使用してスタブを生成しましたが、バンドル内の依存関係に関する問題が発生しています。バンドルがデプロイされると、Apache バンドルの依存関係と共に依存関係が取得されます。

私は自分のビルドに maven を使用しており、maven-bundle-plugin を bundleall ゴールで使用して依存関係バンドルを取得しましたが、バンドルの依存関係で問題が発生します。バンドルを介したプラグイン可能な性質はまさに私が必要としているものなので、osgi を使用したいと思っていますが、バンドルの依存関係を追跡するのに多くの時間を費やしています。

依存関係を解決する方法など、OSGi から SOAP Web サービスを使用する明確な例はありますか?

4

2 に答える 2

1

作業を楽にするために、fuse esb (apache servicemix) または karaf を使用してみてください。Felix は最小限の OSGi コンテナーですが、Karaf は Felix であり、最も重要なバンドルの多くが既にデプロイされています。Fuse (servicemix とも呼ばれます) は、さらに多くのバンドルを備えた karaf です。Fuseにはcxfが付属しているため、いじる必要はありません。

felix を使用したい場合は、maven バンドル プラグインの構成と、felix で実行されているバンドルのリストを投稿してください。私は Felix/Karaf で CXF を使用して JAX-RS Web サービスを提供してきましたが、これは非常に強力なソリューションです。

于 2011-07-24T04:49:56.190 に答える
0

maven-bundle-pluginのbundleallゴールは、すべての依存関係のバンドルを生成します。ただし、依存関係を解決するためにインストールする必要がある順序は表示されません。依存関係を処理する優れたジョブを実行するOSGi実装の1つは、EclipseFoundationのVirgoWebサーバーです。Virgoを使用すると、bundleallゴールによって生成されたすべてのバンドルをrepository / usrフォルダーに直接コピーし、サービスをピックアップフォルダーに配置するだけで、ランタイムが依存関係の解決を処理します。私は過去にこのプロセスを成功裏に使用しました。

関連する注意点として、一般的でない依存関係がいくつかない限り、 SrpingSourceEnterpriseBundleリポジトリから依存関係を追加することを検討する必要があります。

于 2011-07-25T02:41:31.353 に答える