Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Axis2在OSGi环境中运行?_Osgi_Axis2_Equinox - Fatal编程技术网

如何使Axis2在OSGi环境中运行?

如何使Axis2在OSGi环境中运行?,osgi,axis2,equinox,Osgi,Axis2,Equinox,我需要在OSGi环境(Equinox)中访问Web服务。我已经有了将webservice用作独立应用程序的代码 示例代码使用Axis2这似乎是一个问题,因为我需要将所有必需的库作为单独的包添加。这不适用于Axis2,因为项目提供的jar文件不是为OSGi准备的 我试图通过BND“bundelize”JAR文件,但最终由于“包使用冲突错误:org.apache.axis2.addressing”而无法工作 如何让Axis2 OSGi知晓? 或者-在Equinox(普通而非Eclipse)中访问(s

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

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

我试图通过BND“bundelize”JAR文件,但最终由于“包使用冲突错误:org.apache.axis2.addressing”而无法工作

如何让Axis2 OSGi知晓?


或者-在Equinox(普通而非Eclipse)中访问(soap)Web服务的简单且傻瓜式的变体是什么?我已经尝试过Apache CXF失败了,因为它看起来像它试图在运行时生成代码,AxIS2也很难,因为我的帖子显示。

< P>你应该考虑将AxIS2库(和依赖项)嵌入到你的包中。在这种情况下,Axis2不会作为自己的捆绑包进行部署,而是将类/JAR复制到您的捆绑包中

如果您使用maven构建捆绑包,您应该查看和部分



如果没有支持OSGi的Axis2库,我还建议您仔细查看(我不使用它,所以我不知道它,但可以快速搜索结果)。

您可以手动绑定Axis2依赖项并添加手写清单文件吗?org.apache.axis2.addressing到底与什么冲突?祝你好运-axis2需要大约十个不同的jar,并且有几十个包需要导出。欢迎来到OSGi bundle hell:(关于包使用冲突,我不知道它是什么原因造成的。由于OSGi通常会向您显示一条错误消息,这可能是由不同的原因引起的。OSGi调试确实是一件痛苦的事情。关于使用冲突,请看一看和博客条目(只是为了理解-很难修复!).我知道这两篇文章-我的问题是,对于相关的bundle,导入包部分有大约60行,其中声明了几十个包。此外,每80个字符就有一行硬换行符,这使得读取这样的清单非常困难。如果没有工具支持,这几乎是不可能的。maven bundle插件在内部使用BND whi我试图直接从jar文件生成捆绑包,但没有像我在问题中所写的那样工作。@Robert我不是要将每个jar包装到OSGi捆绑包中,而是要将所有Axis2 jar(和依赖项)嵌入到捆绑包中(或至少)进入单个Axis2全包装包。关于
导入包
声明,尝试使用
解析:=可选
这将允许包在使用时安装和解析包(因此幸运的是,您不需要无法解析的包)。尽管如此,这些都是肮脏的建议,如果不从零开始支持,要完成这些建议将是一项艰巨的工作。我设法用不太复杂的库实现了这一点。