【问题标题】:Configure CXF JAX-WS service to work with MOXY配置 CXF JAX-WS 服务以使用 MOXY
【发布时间】:2012-11-29 16:44:17
【问题描述】:

虽然我已经使用 MOXY 工厂添加了 jaxb.properties,并且我看到 JAXB 已切换到 moxy,但 CXF 在 JAXBUtils 类中有一个名为 createRIContext 的方法,它加载硬编码的 sun JAXB 实现。
有没有办法覆盖它并改用moxy? 有问题的代码如下:

// fall back if we're using another jaxb implementation
try {
     riContext = JAXBUtils.createRIContext(contextClasses
               .toArray(new Class[contextClasses.size()]), tns);
}

它加载硬编码的“com.sun.xml.bind.v2.ContextFactory”类并使用它来创建 JAXB 上下文。

【问题讨论】:

  • 感谢您提供的链接,但您提供的链接讨论了其他实现,而我的问题专门针对 CXF 集成问题。此外,直接处理 xml 的想法(如那里所建议的那样)对我来说不是一个好的方向。
  • 问题在于 JAX-WS (JSR-224) 实现在用于 XML 绑定的 JAXB (JSR-222) 实现中具有专有挂钩。 Provider 机制是一种标准的 JAX-WS 机制,用于插入您自己的绑定解决方案,这将允许您利用 EclipseLink JAXB (MOXy)。 WebLogic 和 GlassFish 中的 JAX-WS 实现支持 MOXy。
  • 我正在使用 Spring / CXF。似乎 CXF 正在使用硬编码的 sun 实现。请参阅下面的代码: // 如果我们使用另一个 jaxb 实现,则回退 try { riContext = JAXBUtils.createRIContext(contextClasses .toArray(new Class[contextClasses.size()]), tns);您能否提供更多信息,提供机制如何帮助我作为 CXF 用户覆盖上述代码?
  • 这个话题有进展吗?我还想将 CXF (jax-ws) 与 MOXY 一起使用,以使其与 JPA 注释类一起使用。

标签: jaxb jax-ws cxf eclipselink moxy


【解决方案1】:

CXF 的 3.0.0-milestone2 版本应该能更好地处理 Moxy。也就是说,Moxy 中仍然存在一些错误,这些错误会阻止所有 CXF 单元和系统测试通过它,因此我们对 Moxy 的信心不如对 JAXB RI 的信心。

(对于测试 3.0.0 的任何帮助将不胜感激)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2011-03-28
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多