CXF tomcat 8 weblogic java.util.Map是一个接口,JAXB无法处理接口

时间:2014-09-15 11:55:16

标签: tomcat weblogic cxf code-first jaxb2

我实际上是在基于spring 3.2.8和cxf 2.7.11的projet上工作,并在weblogic 12.1(JDK 1.7.0_21)和tomcat 8上运行。 Webservices是代码中的代码,首先使用CXF注释。

当我尝试在weblogic或Tomcat上运行我的Web应用程序时,我遇到了这个例外:

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions java.util.Map is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at java.util.Map at private java.util.Map fr.grdf.distribution.ws.interfaces.metier.approvisionnement.jaxws_asm.GetEotpCodeArticleByZddResponse._return at fr.grdf.distribution.ws.interfaces.metier.approvisionnement.jaxws_asm.GetEotpCodeArticleByZddResponse

在weblogic上,我只需要在weblogic.xml配置文件中使用thoses配置类路径,一切正常:

<prefer-application-packages> <package-name>org.apache.cxf.*</package-name> </prefer-application-packages>

但是在tomcat上,我遇到了这个错误。 tomcat webapp和weblogic webapp之间的类路径的唯一区别是为tomcat添加了asm-3.3.1.jar(我得到了#34; java.lang.NoClassDefFoundError&#34;:org / objectweb / asm / ClassWriter execption)

有人有想法吗?

提前致谢

Webservice终点:

@WebService
@GZIP
public interface IApproLogWebService {
@WebMethod
Map<Long, String> getEotpCodeArticleByZdd(@WebParam(name = "articles") List<ArticleFicheApproLog> articles,
    @WebParam(name = "zdd") Zdd zdd)

1 个答案:

答案 0 :(得分:0)

我通过将jabx-xjc从2.2.1.1版本升级到2.2.10-b140310.1920版本来解决问题。

问候。