JAXB Web 服务从 Weblogic 10 迁移到 12

use*_*248 2 weblogic jaxb jakarta-ee

我在 Weblogic 10.3 上有一个正在运行的 Web 服务 (JAX-WS 2.2)。一切正常。所以wsdl中不可能有问题。

我尝试迁移到 WLS 12。但现在我在部署时出错。

从 WLS 10 到 WLS 12 的哪些变化会导致问题?

小智 5

WLS 12 的 JAXB 实现发生了变化。

  • 在 Oracle Weblogic WLS10 Glassfish JAXB RI 实现中提供
  • 在 Oracle Weblogic WLS12 中,提供了 EclipseLink Implementaiotn MOXy

您可以按照oracle 文档中的描述使用 JAXB RI 强制 WLS12

您需要覆盖以下两个属性才能告诉 WLS12 使用 JAXB RI:

  • com.sun.xml.ws.spi.db.BindingContextFactory=com.sun.xml.ws.db.glassfish.JAXBRIContextFactory
  • javax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory

最简单的方法是将 databinding.override_1.0.0.0.jar 添加到您的类路径

或者您可以将它们设置为 java 系统属性,但如 oracle 文档中所述

在某些情况下,可能很难将系统属性传播到间接调用的 Java 实例,例如从 Ant 任务派生出来的客户端。在这些情况下,确保您使用的环境传播这些属性非常重要。