2015-06-16 1 views
1

У меня есть 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.

Кто-нибудь знает, как достичь этого?

ответ

0
protected List<JAXBElement<? extends Serializable>> rest; 

Проверьте наличие повторяющихся элементов с тем же именем. wsimport генерирует список вместо отдельного getter и setter, если какой-либо из элементов повторяется.