欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

不同jdk版本中webservice特别注意的细节

程序员文章站 2022-07-07 22:46:36
...

  【问题现象】使用JDK8或者少部分JDK7跑cxf项目时报此错误:

 

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 com.pn.common.webservice.api.jaxws_asm.GetActivityEgameRebateConfigListTotal.arg0
		at com.pn.common.webservice.api.jaxws_asm.GetActivityEgameRebateConfigListTotal
java.util.Map does not have a no-arg default constructor.
	this problem is related to the following location:
		at java.util.Map
		at private java.util.Map com.pn.common.webservice.api.jaxws_asm.GetActivityEgameRebateConfigListTotal.arg0
		at com.pn.common.webservice.api.jaxws_asm.GetActivityEgameRebateConfigListTotal

 

【问题分析】

有的jdk版本中webService复杂类型值传递时,返回值的类型使用Map等接口如果不加特殊处理,则会报此错误。

 

【解决方案】未防止以后运维升级jdk版本或者开发升级jdk版本出现报错的现象,应将所有webservice接口api的方法Map参数或返回值前加上:

@XmlJavaTypeAdapter(MapAdapter.class

)

 

 

 

 

 

 

 

 

 

 

 

打赏分享者

          如果这个分享对您提供了帮助,那就打赏我吧,有钱捧个钱场(支持支付宝和微信捐助),没钱捧个人场,有了大家的支持,我们会更有动力,会做的更好的,谢谢各位。

不同jdk版本中webservice特别注意的细节
            
    
    博客分类: webservice java8jdk8cxfwebservicejava 不同jdk版本中webservice特别注意的细节
            
    
    博客分类: webservice java8jdk8cxfwebservicejava