2015-12-08 4 views
0

Я пытаюсь сопоставить следующее с новым именем класса через maven-jaxb2-plugin.JAXB привязки сложного типа к новому классу

У меня есть этот элемент, который существует в двух XSD в проекте (разные пространства имен).

Я хочу сопоставить этот экземпляр с другим именем класса, чтобы он компилировался.

<xs:complexType name="ResponseCommonData"> 
    <xs:sequence> 
     <xs:element name="RequestID" type="xs:string"/> 
     <xs:element name="BusinessError" form="qualified" minOccurs="0" maxOccurs="unbounded"> 
      <xs:complexType> 
       <xs:complexContent> 
        <xs:extension base="BusinessErrorCommonData"/> 
       </xs:complexContent> 
      </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
</xs:complexType> 

<xs:complexType name="BusinessCommonData"> 
    <xs:sequence> 
     <xs:element name="Code" type="xs:string" form="unqualified" minOccurs="0"/> 
    </xs:sequence> 
</xs:complexType> 

bindings.xjb я это ...

<jaxb:bindings schemaLocation="CFRV2.0.0.xsd" node="/xs:schema"> 
     <jaxb:bindings node="xs:complexType[@name='ResponseCommonData']"> 
       <jaxb:property name="CFRResponseCommonData" /> 
     </jaxb:bindings> 
     <jaxb:bindings node="xs:complexType[@name='BusinessCommonData']"> 
       <jaxb:property name="CFRBusinessCommonData" /> 
     </jaxb:bindings> 
</jaxb:bindings> 

Я получаю ошибку это ...

org.xml.sax.SAXParseException: A class/interface with the same name 
"com.ResponseCommonData" is already in use. 
Use a class customization to resolve this conflict. 

Если удалить внутренний элемент BusinessError из ResponseCommonData затем JAXB продолжит работу, но даст мне аналогичное сообщение о другом классе сложного типа.

ответ

Смежные вопросы