2010-12-13 7 views
2

sollen ich eine wsimport zu tun versuchen, (durch NetBeans 6.9.1) in einer WSDL von einer dritten Partei, aber es hält diesen Fehler in JAXB zu erzeugen:Kollision in Object von zwei Dingen, die nur ein

Two declarations cause a collision in the ObjectFactory class. 

Die Kollision ist über diese zwei Dinge:

In messages.xsd:

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

In 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> 

Ich sah hier im Stackoverflow, dass JAXB Fälle nicht behandeln kann, wenn zwei verschiedene Elemente den gleichen Namen oder Namen nur durch Großschreibung unterscheiden. In diesem Fall sollten die beiden Elemente jedoch wirklich identisch sein (die zweite bezieht sich auf die erste). Was kann ich also tun?

+0

Haben Sie jemals eine Antwort darauf gefunden? – Cuga

+0

@Cuga - Nein, ich hatte nie eine Antwort gefunden. –

Antwort

1

Ich hatte ein ähnliches Problem, hier beschrieben: wsimport - two declarations cause collision, same line number given

ich diesen Fehler war immer, wenn Sie diesen Befehl ausführen:

die Hilfe von @Petru Gardea
wsimport ./bwWsdl.xml -p com.generated -Xnocompile -d ../src -extension -keep -XadditionalHeaders -B-XautoNameResolution 

Dank ich schließlich Vergangenheit bekommen konnte dies durch Weglassen der Paketspezifikation -p com.generated zu wsimport. So konnte ich schließlich laufen, um dieses Problem zu überwinden:

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