Как я могу сгенерировать файлы Java из WSDL, используя JAX-WS/wsimport без объектов "ArrayOf"?
У меня есть WSDL, который определяет некоторые свойства, как это:
<xs:complexType name="Output">
<xs:element minOccurs="0" name="Responses" nillable="true" type="tns:ArrayOfResponseBase">
<xs:annotation>
<xs:appinfo/>
<xs:documentation>...</xs:documentation>
</xs:annotation>
</xs:element>
</xs:complexType>
Где ArrayOfResponseBase
определяется следующим образом:
<xs:complexType name="ArrayOfResponseBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ResponseBase" nillable="true" type="tns:ResponseBase"/>
</xs:sequence>
</xs:complexType>
Я использую файл привязки JAXB с generateElementProperty=false
и окончательный вывод приводит к сгенерированным классам, подобным следующему:
public class Output {
protected ArrayOfResponseBase responses;
}
public class ArrayOfResponseBase {
protected List<ResponseBase> responseBase;
}
Как это можно изменить, чтобы ArrayOf
классы не генерируются, а список напрямую является свойством объекта верхнего уровня? Это желаемая структура класса:
public class Output {
protected List<ResponseBase> responseBase;
}
Файл WSDL не мой для редактирования, так что это было бы последним средством (кроме того, сервис огромен, поэтому ручное редактирование это не вариант).
Я генерирую файлы, используя Eclipse и опцию JAX-WS (которая использует wsimport).