0

我需要访问 OSGi 环境(Equinox)中的 Web 服务。我已经有了将 Web 服务用作独立应用程序的代码。

示例代码使用 Axis2 这似乎是一个问题,因为我需要将所有必需的库添加为单独的包。这不适用于 Axis2,因为项目提供的 jar 文件不是为 OSGi 准备的。

我尝试通过 BND “捆绑” JAR 文件,但最终捆绑不起作用,因为“包使用冲突错误:org.apache.axis2.addressing”

如何让 Axis2 OSGi 感知?

或者-在Equinox(普通而不是Eclipse)中访问(soap)Web服务的简单且万无一失的变体是什么?我已经尝试过失败的 Apache CXF,因为它看起来试图在运行时生成代码,而 Axis2 也非常困难,正如我的帖子所示。

4

1 回答 1

2

您应该考虑将 Axis2 库(和依赖项)嵌入到您的包中。在这种情况下,Axis2 不会被部署为自己的包 - 而是将类/jar 复制到您的包中。

如果你使用 maven 来构建你的包,你应该看看maven-bundle-pluginEmbedding dependencies部分。


如果周围没有启用 OSGi 的 Axis2 库,我还建议仔细查看(我不使用它,所以我不知道它,但在org.apache.axis2.osgi中快速搜索结果)。

于 2011-05-13T16:23:29.223 回答