Java 在ObjectFactory中,两个事物的碰撞应仅为一个

Java 在ObjectFactory中,两个事物的碰撞应仅为一个,java,jaxb,wsimport,Java,Jaxb,Wsimport,我试图从第三方在WSDL中执行wsimport(通过netbeans 6.9.1),但它在JAXB中不断生成此错误: Two declarations cause a collision in the ObjectFactory class. 冲突涉及两件事: 在messages.xsd中: <xs:element name="PingRequest" nillable="true" type="tns:PingRequest" /> 在service.xsd中: <x

我试图从第三方在WSDL中执行wsimport(通过netbeans 6.9.1),但它在JAXB中不断生成此错误:

Two declarations cause a collision in the ObjectFactory class.
冲突涉及两件事:

在messages.xsd中:

<xs:element name="PingRequest" nillable="true" type="tns:PingRequest" />

在service.xsd中:

<xs:element name="Ping">
  <xs:complexType>
    <xs:sequence>
      <xs:element xmlns:q1="http://www.3rd-party-uri-here/messages/" minOccurs="0" name="request" nillable="true" type="q1:PingRequest" /> <!-- HERE! -->
    </xs:sequence>
  </xs:complexType>
</xs:element>


我在stackoverflow中看到,JAXB无法处理两个不同元素名称相同或名称仅大小写不同的情况。但是,在这种情况下,这两个元素实际上应该是相同的(第二个元素引用第一个元素)。那么,我能做什么呢?

我遇到了类似的问题,如下所述:

我在运行此命令时遇到此错误:

wsimport ./bwWsdl.xml -p com.generated -Xnocompile -d ../src -extension -keep -XadditionalHeaders -B-XautoNameResolution
多亏@Petru Gardea的帮助,我最终能够通过省略wsimport中的
-p com.生成的
包规范来克服这个问题。所以这就是我最终能够跑过去解决这个问题的方法:

wsimport ./bwWsdl.xml -Xnocompile -d ../src -extension -keep -XadditionalHeaders -B-XautoNameResolution

你找到答案了吗?@Cuga-没有,我从来没有找到答案。