在Equinox中的CXF - ClassCastException(SEIStub / ClientProxy)

时间:2017-09-12 13:51:03

标签: osgi cxf equinox

我在Equinox OSGI中遇到以下异常: 获取java.lang.ClassCastException:com.sun.xml.ws.client.sei.SEIStub无法强制转换为org.apache.cxf.frontend.ClientProxy

请告知。

1 个答案:

答案 0 :(得分:0)

看起来你意外地使用jax-ws堆栈,它是jdk的一部分,而不是CXF。我想原因是在OSGi运行时中部署了不正确的CXF。

您将不需要从框架中导出jax-ws API包,而是从servicemix包中安装jax-ws API。您可以尝试在Apache Karaf中安装Apache CXF,以了解正确部署的外观。

要设置框架要导出的包,请使用框架属性org.osgi.framework.system.packages。另见Apache Felix configuration。遗憾的是,没有选项可以从导出的包中删除包。如果使用此选项,则需要指定框架导出的所有包。默认值可以在属性文件default.properties中的felix jar中找到。