我正在尝试从wsdl
生成java类,但是我收到错误:
XPath评估 “// XS:元素[@名称= 'RZECZ_REJESTRACJA'] \的xs:的complexType / XS:选择\ XS:sequencexs:元素[@ REF = 'NUMER_OZNAKOWANIA']” 导致太多(2)个目标节点
我的文件XSD - kcik_rejestracja_przedmiotu.xsd
:
<xs:element name="RZECZ_REJESTRACJA">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element ref="NUMER_FABRYCZNY"/>
<xs:element minOccurs="0" ref="NUMER_OZNAKOWANIA"/>
<xs:element ref="MARKA_RZECZY"/>
<xs:element minOccurs="0" ref="TYP_RZECZY"/>
<xs:element ref="RODZAJ_RZECZY"/>
</xs:sequence>
<xs:sequence>
<xs:element ref="NUMER_OZNAKOWANIA"/>
<xs:element ref="MARKA_RZECZY"/>
<xs:element minOccurs="0" ref="TYP_RZECZY"/>
<xs:element ref="RODZAJ_RZECZY"/>
</xs:sequence>
</xs:choice>
</xs:complexType>
我的jaxb-bindings.xml
无效。
<bindings schemaLocation="wsdl/SOAComponents/ApplicationObjectLibrary/KCIK/Service/schemas/kcik_rejestracja_przedmiotu.xsd">
<bindings node="//xs:element[@name='RZECZ_REJESTRACJA']/xs:complexType/xs:choice/xs:sequence">
<bindings node=".//xs:element[@ref='NUMER_OZNAKOWANIA']">
<property name="NumerOznakowaniaAttr"/>
</bindings>
</bindings>
答案 0 :(得分:0)
您可以使用此绑定文件
<bindings node="//xs:element[@name='RZECZ_REJESTRACJA']/xs:complexType/xs:choice/xs:sequence[1]">
<bindings node=".//xs:element[@ref='NUMER_OZNAKOWANIA']">
<property name="NumerOznakowaniaAttr"/>
</bindings>
</bindings>
答案 1 :(得分:-1)
您的XSD应该重写为
<xs:element name="RZECZ_REJESTRACJA">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element ref="NUMER_FABRYCZNY"/>
<xs:sequence minOccurs="0">
<xs:element ref="NUMER_OZNAKOWANIA"/>
</xs:sequence/
<xs:element ref="MARKA_RZECZY"/>
<xs:sequence minOccurs="0">
<xs:element ref="TYP_RZECZY"/>
</xs:sequence>
<xs:element ref="RODZAJ_RZECZY"/>
</xs:sequence>
</xs:choice>
</xs:complexType>