我正在尝试让 Web 服务客户端从 OSGi 运行,我正在使用 Felix 作为我的容器。
到目前为止,我已经尝试过使用 Apache CXF。这不适用于我的 Web 服务,因为它是 RPC/编码的,并且在我尝试生成 stub 时不受支持。我使用 apache Axis 来生成我的 stub ,现在我在我的包中遇到了带有依赖项的问题。当我的包被部署时,我得到了依赖 w/apache 包的依赖。
我在我的构建中使用了 maven,并使用了带有 bundleall 目标的 maven-bundle-plugin 来获取依赖项包,但仍然遇到了包依赖项的问题。我真的很想使用 osgi,因为通过 bundle 实现的可插入特性正是我所需要的,但是我花了很多时间来寻找 bundle 的依赖性。
是否有从 OSGi 使用 SOAP Web 服务的明确示例,包括如何解决依赖关系?
最佳答案
为了让您的生活更轻松,您可能想尝试使用 fuse esb (apache servicemix) 或 karaf。 Felix 是一个最低限度的 OSGi 容器,而 Karaf 是 Felix,已经部署了许多最重要的包。 Fuse(也称为 servicemix)是带有更多 bundle 的 karaf。 Fuse 随 cxf 一起提供,因此您不必弄乱它。
如果您真的更喜欢使用 felix,请发布您的 maven 包插件配置以及在 felix 中运行的包列表。我在 Felix/Karaf 中使用 CXF 为 JAX-RS web 服务提供服务已经有一段时间了,它是一个非常强大的解决方案。
关于java - OSGi SOAP 网络服务客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795986/