2

我对osgi相当陌生。请耐心等待。我想将一个肥皂网络服务客户端公开为声明性服务。我怎么做。我将不胜感激一步一步的教程。到目前为止,我已经能够启动 Equinox,编写声明式服务并使用相同的服务。

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

4

1 回答 1

1

服务注册中心可以像处理接口一样处理类。这意味着您可以将生成的类直接公开为服务:

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

但是,这不是一个好的做法,原因如下:

  1. 你必须从你的包中导出生成的类,暴露实现细节,这会损害模块化。
  2. 目前尚不清楚生成的类是否尊重 OSGi 服务生命周期。

理想情况下,您将编写一个使用生成的类的代理服务,公开所有特定于 OSGi 的功能并实现您想要公开的接口。

于 2012-11-06T08:50:01.970 回答