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

我正在使用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”选项).

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部