我正在处理一个远程WSDL,其中一些XSD被调用两次。 我试图使用xjb绑定来摆脱
' EndpointReference的'已经定义了 riga 22 di file:..... / wsdl / ws-addr.xsd
(与上述错误相关)第一个定义出现在这里 riga 22 di file:..... / wsdl / www.w3.org / 2006/03 / addressing / ws-addr.xsd
这是XSD的一部分
<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
<xs:complexType name="EndpointReferenceType" mixed="false">
<xs:sequence>
<xs:element name="Address" type="tns:AttributedURIType"/>
<xs:element ref="tns:ReferenceParameters" minOccurs="0"/>
<xs:element ref="tns:Metadata" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
这是jxb绑定
<bindings schemaLocation="wsdl/ws-addr.xsd" version="1.0">
<!-- Customise the package name -->
<schemaBindings>
<package name="com.example.schema"/>
</schemaBindings>
<!-- rename the value element -->
<bindings node="//xs:element[@name='EndpointReference']">
<property name="EndpointReference1"/>
</bindings>
</bindings>
但这似乎不起作用。
如何重命名两次声明的元素? 否则,有没有办法重新映射其他XSD?