2

私はosgiにかなり慣れていません。しばらくお待ちください。SOAPWebサービスクライアントを宣言型サービスとして公開したいと思います。それ、どうやったら出来るの。ステップバイステップのチュートリアルをいただければ幸いです。私はこれまで、equinoxを起動し、宣言型サービスを作成し、同じサービスを利用することができました。

私が立ち往生しているのは、サービスのインターフェイスクラスのみを含むバンドルを作成してから、上記のインターフェイスを実装するバンドルを作成することです。実装バンドルは、外部Webサービスと通信できるようにsoapクライアントである必要があります。

4

1 に答える 1

1

service-registryは、インターフェイスだけでなくクラスも処理できます。つまり、生成されたクラスをサービスとして直接公開できます。

<service>
    <provide interface="your.generated.clazz"/>
</service>

ただし、いくつかの理由から、これは適切な方法ではありません。

  1. 生成されたクラスをバンドルからエクスポートして、実装の詳細を公開する必要があります。これにより、モジュール性が損なわれます。
  2. 生成されたクラスがOSGiサービスのライフサイクルを尊重していることは明らかではありません。

理想的には、生成されたクラスを使用し、すべてのOSGi固有の関数を公開し、公開したいインターフェースを実装するプロキシサービスを作成します。

于 2012-11-06T08:50:01.970 に答える