wsimport <property>已经定义

时间:2017-08-24 06:43:45

标签: java xml xsd wsdl xjb

我正在处理一个远程WSDL,其中一些XSD被调用两次。 我试图使用xjb绑定来摆脱

  

&#39; EndpointReference的&#39;已经定义了     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?

0 个答案:

没有答案