tomcat - CXF tomcat 8 weblogic java.util.Map是接口(interface),JAXB无法处理接口(interface)

标签 tomcat weblogic cxf code-first jaxb2

我实际上正在开发一个基于 spring 3.2.8 和 cxf 2.7.11 并在 weblogic 12.1 (JDK 1.7.0_21) 和 tomcat 8 上运行的项目。 Web 服务是带有 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 配置文件中的那些行配置类路径,一切正常:

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

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

有人有想法吗?

提前致谢

网络服务端点:

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

最佳答案

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

问候。

关于tomcat - CXF tomcat 8 weblogic java.util.Map是接口(interface),JAXB无法处理接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25847514/

相关文章:

java - 无法连接本地mysql服务器

java:在静态IP上部署Web服务并从外部网络访问

c# - JMS 客户端应用程序错误。使用 URL <t3 ://localhost:7001> 无法连接

java - 有没有办法在 2 路 ssl 连接中从 java 代码恢复客户端证书的通用名称?

java - 如何将 OCI JAVA SDK 日志写入 Weblogic Server 日志文件

java - 从 CXF 服务实现中添加 HTTP header

java - 在服务器上使用 SSL 配置 Tomcat

java - 如何在 logback.groovy 配置中引用 ${catalina.base}?

java - JAX-WS 服务中未检测到 Spring bean

java - Apache CXF java2wsdl : Custom symbol names