如何使用不带有“ ArrayOf”对象的JAX-WS / wsimport从WSDL中生成Java文件?

时间:2018-08-15 17:50:41

标签: java jaxb jax-ws wsimport jax-ws-customization

我有一个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>

我正在使用带有generateElementProperty=false的JAXB绑定文件,最终输出将导致生成如下所示的类:

public class Output {
    protected ArrayOfResponseBase responses;
}

public class ArrayOfResponseBase {
    protected List<ResponseBase> responseBase;
}

如何对其进行修改,以便不生成ArrayOf类,而List直接是顶级对象的属性?这是所需的类结构:

public class Output {
    protected List<ResponseBase> responseBase;
}

该WSDL文件不是我可以编辑的,因此这是不得已的方法(而且,该服务非常庞大,因此不能手动编辑)。

我正在使用Eclipse和JAX-WS选项(使用wsimport)生成文件。

0 个答案:

没有答案