【问题标题】:CXF - ClassCastException (SEIStub/ClientProxy) in EquinoxCXF - Equinox 中的 ClassCastException (SEIStub/ClientProxy)
【发布时间】:2017-09-12 13:51:03
【问题描述】:

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

请指教。

【问题讨论】:

    标签: osgi cxf equinox


    【解决方案1】:

    您似乎不小心使用了作为 jdk 一部分的 jax-ws 堆栈,而不是 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 中找到。

    【讨论】:

    • 我检查了 Equinox 导出 javax.xml.ws 包中的 Bundle 0。我想知道如何阻止它。
    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多