Java JAXB xjc将字段生成为元素列表

Java JAXB xjc将字段生成为元素列表,java,xml,jaxb,xjc,Java,Xml,Jaxb,Xjc,我对wsdl文件的以下顺序有问题 <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="allowCaseWithNewContract" type="xsd:boolean"> </xsd:element> <xsd:choice minOccurs="0"

我对wsdl文件的以下顺序有问题

                <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="allowCaseWithNewContract" type="xsd:boolean">
                </xsd:element>
                <xsd:choice minOccurs="0">
                    <xsd:element name="validationError" type="mnp:ErrorType"/>
                    <xsd:element name="internalError" type="mnp:ErrorType"/>
                    <xsd:element name="businessError" type="mnp:ErrorType"/>
                    <xsd:element name="externalError" type="mnp:ErrorType"/>
                </xsd:choice>
            </xsd:sequence>

            <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="allowCaseWithExistingContract" type="xsd:boolean">
                </xsd:element>
                <xsd:choice minOccurs="0">
                    <xsd:element name="validationError" type="mnp:ErrorType"/>
                    <xsd:element name="internalError" type="mnp:ErrorType"/>
                    <xsd:element name="businessError" type="mnp:ErrorType"/>
                    <xsd:element name="externalError" type="mnp:ErrorType"/>
                </xsd:choice>
            </xsd:sequence>


我尝试使用jaxb绑定定制:

<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
              xmlns:xs="http://www.w3.org/2001/XMLSchema"
              xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
  <jxb:globalBindings>
    <xjc:simple />
  </jxb:globalBindings>
</jxb:bindings>


我试图避免jaxb-xjc将字段生成为
列表,我建议您尽可能简化模式。我会将
allowCaseWithNewContract
allowCaseWithExistingContract
作为属性放在封闭元素中。我想,剩下的选择将是类型
ErrorType

我不允许评论,但我相信这个问题已经解决了,基本上,您最好的办法是使用as JAXB,因为它希望(反)序列化从XML到Java和从XML到Java保持一致,从而阻止您做您想做的事情(即,您需要保留顺序)。

这是不可能的。我需要保持模式不变