我在Equinox OSGI中遇到以下异常: 获取java.lang.ClassCastException:com.sun.xml.ws.client.sei.SEIStub无法强制转换为org.apache.cxf.frontend.ClientProxy
请告知。
答案 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中找到。