加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JAXB,CXF:没有ObjectFactory与@XmlElementDecl的元素…

发布时间:2020-12-14 16:24:13 所属栏目:Java 来源:网络整理
导读:我正在使用JAXB和CXF创建一个WSDL第一个Web服务.我不拥有WSDL,所以我不能修改它.我使用 ftp://ftp.ihe.net/TF_Implementation_Material/ITI/wsdl/PIXManager.wsdl作为我的WSDL.我用CXF 2.3.0生成Java类. Java类生成就行了,但是当我尝试在Web应用程序中运行它
我正在使用JAXB和CXF创建一个WSDL第一个Web服务.我不拥有WSDL,所以我不能修改它.我使用 ftp://ftp.ihe.net/TF_Implementation_Material/ITI/wsdl/PIXManager.wsdl作为我的WSDL.我用CXF 2.3.0生成Java类.

Java类生成就行了,但是当我尝试在Web应用程序中运行它时,我收到一个错误

com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 17 counts of IllegalAnnotationExceptions

17个数字是格式

There's no ObjectFactory with an @XmlElementDecl for the element {urn:hl7-org:v3}assignedDevice.
        this problem is related to the following location:
            at protected javax.xml.bind.JAXBElement org.hl7.v3.QUQIMT021001UV01AuthorOrPerformer.assignedDevice

当我去上课时,即QUQIMT021001UV01AuthorOrPerformer,看看分配的设备,我看到这个

@XmlElementRef(name = "assignedDevice",namespace = "urn:hl7-org:v3",type = JAXBElement.class)
protected JAXBElement<COCTMT090300UV01AssignedDevice> assignedDevice;

当我看到包的ObjectFactory,我看到这一点

private final static QName _COCTMT090303UV01AssignedDeviceAssignedDevice_QNAME = new QName("urn:hl7-org:v3","assignedDevice");

我所有的17个错误都是类似的.为了让我的服务工作,我可以在代码或运行期间做什么?

解决方法

您在运行时使用什么Java版本?当使用Java 6运行时,我与OTA架构有类似的问题.通过对Maven配置进行以下更改,消除了这个问题:

>使用JAXB impl 2.1.*(而不是2.2)提供的范围,以匹配Java 6中包含的JAXB版本.>使用JAX-WS 2.1(而不是2.2)来匹配Java 6和JAXB 2.1.x.>将选项frontEnd添加到Maven cxf-codegen-plugin插件,并将其设置为jaxws21(或者如果在命令行中使用wsdl2java,请使用“-fe jaxws21”选项).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读