WebLogic上的CXF:JAXBException - 不支持该属性

时间:2012-06-20 12:35:19

标签: java weblogic cxf weblogic-10.x

我使用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的{​​{1}}元素,但是仍然是相同的结果。

任何人都知道可能会解决这个问题,或者有进一步调试的建议吗?


一些其他信息,如果相关

  • CXF版本:2.6.1
  • WebLogic版本:10.3.4.0

weblogic-application.xml,没有我尝试过的任何修改:

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>

2 个答案:

答案 0 :(得分:1)

如果有人得到更好的答案,我会将其标记为选定的答案,但现在:

这似乎源于WebLogic供应提供JAXB 2.0和JAXB 2.1的事实,而此版本的CXF使用JAXB 2.2功能。

根据我的理解,不可能使用prefer-package-elements来优先使用已导入JDK或2)sun内部类的类。您可以选择将jar文件放在JDK / JRE的背书中,但我不想走这条路。

目前我已将CXF降级为v.2.2.12,这是使用JAXB 2.1的最后一个CXF版本。

答案 1 :(得分:0)

同样的错误是由METRO 2.0库引起的。当您尝试从wdsl创建Web服务时,此库将自动添加到NetBeans项目中。

由于我不需要这个库,我将其从项目中删除。