我已经使用 cxf-codegen-plugin 生成了一个 Web 服务客户端,并且我在本地运行此代码很好,它连接到 Web 服务。
当我尝试将我的应用程序部署到我们的 WebLogic 服务器时,问题就出现了。当我的*ServiceImplService
类被尝试实例化时,会抛出以下异常:
Caused by: javax.xml.bind.JAXBException: property "supressAccessorWarnings" is not supported
根据我收集到的信息,这可能源于 WebLogic 提供了一些 jaxb 相关类的旧版本。我(分别)尝试添加com.sun.xml.bind.*
,和javax.xml.*
,javax.jws.*
甚至绝望地添加com.sun.*
到prefer-application-packages
元素 of weblogic-application.xml
,但结果仍然相同。
任何人都知道什么可以解决这个问题,或者有关于调试的建议?
一些附加信息,如果它是相关的
- CXF 版本:2.6.1
- WebLogic 版本:10.3.4.0
weblogic-application.xml,没有我尝试过的任何修改:
<?xml version="1.0" encoding="ISO-8859-1"?>
<wls:weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/j2ee_1_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-application.xsd">
<wls:prefer-application-packages>
<wls:package-name>org.hibernate.*</wls:package-name>
<wls:package-name>antlr.*</wls:package-name>
<wls:package-name>org.springframework.*</wls:package-name>
<wls:package-name>net.bull.*</wls:package-name>
<wls:package-name>org.apache.commons.*</wls:package-name>
</wls:prefer-application-packages>
</wls:weblogic-application>
抛出的异常:
Caused by: javax.xml.bind.JAXBException: property "supressAccessorWarnings" is not supported
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:118)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:202)
at sun.reflect.GeneratedMethodAccessor391.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:128)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:277)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
at weblogic.wsee.jaxws.tubeline.ConfigReaderTubelineDeploymentListener.readConfigFile(ConfigReaderTubelineDeploymentListener.java:164)
at weblogic.wsee.jaxws.tubeline.ConfigReaderTubelineDeploymentListener.init(ConfigReaderTubelineDeploymentListener.java:52)
at weblogic.wsee.jaxws.spi.WLSServiceDelegate$WLSTubelineDeploymentListenerRepository.<init>(WLSServiceDelegate.java:323)
at weblogic.wsee.jaxws.spi.WLSServiceDelegate.<init>(WLSServiceDelegate.java:94)
at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegate.<init>(WLSProvider.java:586)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:120)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:112)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:83)
at javax.xml.ws.Service.<init>(Service.java:56)
at <my package name>.PutSituationServiceImplService.<init>(PutSituationServiceImplService.java:47)
... 7 more