JAXB Web服务迁移从Weblogic的10至12

问题描述 投票:1回答:2

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

我试图迁移到WLS 12.但现在我得到的错误,而部署。

发生了什么变化,从WLS 10至WLS 12 yould导致问题?

java-ee jaxb weblogic
2个回答
3
投票

该JAXB实现改变WLS 12。

  • 在Oracle提供的Weblogic WLS10 Glassfish的JAXB RI实现
  • 在的Oracle WebLogic WLS12的EclipseLink的Implementaiotn莫西提供

你可以描述oracle docs迫使WLS12使用JAXB RI

你需要为了告诉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任务分叉的客户端。在这些情况下,重要的是要确保你所使用的环境中传播的属性。


0
投票

我从10.3.6升级到12.2.1.3,并看到了同样的问题:异常的下方。模块/ databinding.override_1.0.0.0.jar不是分配的一部分,但我发现:甲骨文/ Middleware_Home12c / wlserver的,我包括在calsspath但这并没有解决这个问题,仍然得到/模块/ databinding.override.jar同样的异常。

Feb 07, 2019 9:22:51 AM org.springframework.web.context.ContextLoader initWebApplicationContext

SEVERE: Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'basketService' defined in ServletContext resource [/WEB-INF/store-services.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public synchronized java.lang.Object org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create()] threw exception; nested exception is Exception [EclipseLink-25037] (Eclipse Persistence Services - 2.6.5.v20170607-b3d05bd): org.eclipse.persistence.exceptions.XMLMarshalException

Exception Description: A cycle is detected in the object graph.  This will cause an infinite loop: org.eclipse.persistence.internal.oxm.schema.model.ComplexType@8e926ca -> org.eclipse.persistence.internal.oxm.schema.model.Element@3e83f11a -> org.eclipse.persistence.internal.oxm.schema.model.Sequence@745d452e -> org.eclipse.persistence.internal.oxm.schema.model.ComplexType@8e926ca

        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:597)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1055)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:951)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)

© www.soinside.com 2019 - 2024. All rights reserved.