Как я могу сгенерировать файлы 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).

0 ответов

Другие вопросы по тегам