Java 在ObjectFactory中,两个事物的碰撞应仅为一个
我试图从第三方在WSDL中执行wsimport(通过netbeans 6.9.1),但它在JAXB中不断生成此错误: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
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-没有,我从来没有找到答案。