我正在使用wsdl
和配置cxf / jaxb
从<jaxb:globalBindings generateElementProperty="false">
生成Java类,这为我提供了直接从xml中通过getter和setter直接获取元素的优点,而不必每次都实例化一个JAXBElement
显式。
我要访问的一个元素自动生成为@XmlSeeAlso
。
问题:自动生成的类不包含该类的任何吸气剂!如果没有创建getter,我怎么能在那里接收属性?
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Fare", propOrder = {
"some",
"props"
})
@XmlSeeAlso({
AnySubType.class
})
@Generated
public class AutoGeneratedClass {
//there is no getAnySubType() method!
//only getters for some, props etc.
}
如:
@Generated
public class AnySubType
extends AutoGeneratedClass
{
最佳答案
我将尝试解决您提出的问题:
//没有getAnySubType()方法!
不会的。在超类上有一个返回特定子类实例的方法并不常见。
好吧,我需要从xml中获取一些值
hte AnySubType,但是缺少该类型的吸气剂,所以我不能
访问他们...
您需要将AutoGeneratedClass
的实例强制转换为AnySubType
才能访问子类方法。