osgi将soap客户端暴露为声明性服务

时间:2012-11-05 19:28:19

标签: soap service client osgi declarative

我对osgi相当新。请耐心等待。 我想将soap webservice客户端公开为声明性服务。我怎么做。我会欣赏一步一步的教程。 到目前为止,我已经能够启动equinox,编写声明性服务并使用相同的服务。

我被困的地方是,我希望创建一个只包含该服务的接口类的bundle,然后创建一个实现上述接口的bundle。实现包应该是soap客户端,以便它与外部Web服务通信。

1 个答案:

答案 0 :(得分:1)

service-registry可以像接口一样处理类。这意味着您可以将生成的类直接公开为服务:

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

但这不是一个好习惯,原因如下:

  1. 您必须从捆绑包中导出生成的类,从而暴露实施细节,这会损害模块化。
  2. 目前尚不清楚生成的类是否遵守OSGi服务生命周期。
  3. 理想情况下,您编写一个使用生成的类的代理服务,公开所有特定于OSGi的函数并实现您想要公开的接口。