I'm trying to generate java class from wsdl
but I get error:
我正在尝试从wsdl生成java类,但是我得到了错误:
XPath evaluation of "//xs:element[@name='RZECZ_REJESTRACJA']\xs:complexType/xs:choice\xs:sequencexs:element[@ref='NUMER_OZNAKOWANIA']" results in too many (2) target nodes
元素[@name='RZECZ_REJESTRACJA']\xs:complexType/xs:choice\xs:sequencexs:element[@ref='NUMER_OZNAKOWANIA']"的XPath评估结果导致太多(2)目标节点
My file XSD - kcik_rejestracja_przedmiotu.xsd
:
我的文件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>
And my jaxb-bindings.xml
which didn't work.:
和我的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>
2 个解决方案
#1
0
You may use this binding file
您可以使用这个绑定文件
<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>
#2
-1
Your XSD should be rewritten as follow
您的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>
#1
0
You may use this binding file
您可以使用这个绑定文件
<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>
#2
-1
Your XSD should be rewritten as follow
您的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>