У меня есть WSDL со следующим фрагментом типа моделирования самостоятельного объединения на качестве organisationunit:wsimport создает неожиданный код остальных
...<xs:complexType name="OrganisationUnitBIAssocType">
<xs:complexContent>
<xs:extension base = "tns:OrgUnitBIType">
<xs:sequence>
<xs:element name ="ParentUnit" minOccurs="0" type="tns:OrgUnitBIType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="OrgUnitBIType">
<xs:complexContent>
<xs:extension base="tns:refableWebServiceParameterType">
<xs:sequence>
<xs:element name="Oid" type="xs:long"/>
<xs:element name="NAme" type="xs:String"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>...
Инструмент wsimport генерирует следующие два класса Java для organisationunit и ассоциации:
@XmlAccessorType(XmlAccessType.Field)
@XmlType(name = "OrgUnitBIType", porpOrder = {"rest"})
@XmlSeeAlso({OrganisationUnitBIAssocType.class})
public class OrgUnitBIType extends RefableWebServiceParameterType
{
@XmlElementRefs({
@XmlElementRefs(name = "Name", type =JAXBElement.class, required = false),
@XmlElementRefs(name = "Oid", type =JAXBElement.class, required = false)
})
protected List<JAXBElement<? extends Serializable>> rest;
if(rest == null) {`
rest = new ArrayList<JAXBElement<? extends Serializable>>();`
}
return this.rest;`
}
}
@XmlAccessorType(XmlAccessType.Field)
@XmlType(name = "OrganisationUnitBIAssocType", porpOrder = {"rest"})
public class OrganisationUnitBIAssocType extends OrgUnitBIType {}
Мне интересно, почему эти JAXBElements появляются. Я бы предпочел код с геттерами и сеттерами в стиле JAX-WS без методов getRest.
Кто-нибудь знает, как достичь этого?