Jaxb尝试创建类的抽象实例

时间:2018-06-12 07:08:11

标签: java jaxb

我使用Jaxb来解组xml请求。我不明白为什么Jaxb尝试创建一个抽象类的实例(什么是不可能的)。它有点像jaxb unable to create an instance of abstract class,但我没有看到任何解决方法来修复它。

我收到此错误消息:

  

javax.xml.bind.UnmarshalException:无法创建的实例   fr.project.name.OrderDetailsType     - 链接异常:[java.lang.InstantiationException]

在从xsd文件获取的生成源上,我有一个抽象类OrderDetailsType:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OrderDetailsType", propOrder = {
    "orderType",
    "orderID",
    "orderAttribute"
})
@XmlSeeAlso({
    UnsecuredReqOrderDetailsType.class,
    NoPubKeyDigestsReqOrderDetailsType.class,
    UnsignedReqOrderDetailsType.class
})
public abstract class OrderDetailsType {

}

NoPubKeyDigestsReqOrderDetailsType是这样的:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "NoPubKeyDigestsReqOrderDetailsType")
public class NoPubKeyDigestsReqOrderDetailsType
    extends OrderDetailsType {
}

我的xsd看起来正确,具有指定的类型:

<element name="OrderDetails" type="ebics:NoPubKeyDigestsReqOrderDetailsType">
    <annotation>
        <documentation xml:lang="de">Auftragsdetails.</documentation>
    </annotation>
</element>

我认为Jaxb应该创建一个NoPubKeyDigestsReqOrderDetailsType而不是OrderDetailsType,我真的不明白为什么他这样做?

0 个答案:

没有答案