2010-12-13 52 views
2

je suis en train de faire un wsimport (par NetBeans 6.9.1) dans un WSDL d'une 3ème partie, mais il continue de générer cette erreur dans JAXB:Collision dans ObjectFactory de deux choses qui ne devraient avoir qu'un seul

Two declarations cause a collision in the ObjectFactory class. 

La collision est sur ce deux choses:

En messages.xsd:

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

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

J'ai vu ici dans stackoverflow que JAXB ne peut pas gérer les cas où deux éléments distincts ont le même nom ou les noms ne différant que par la capitalisation. Cependant, dans ce cas, les deux éléments devraient vraiment être quelque chose (le second fait référence au premier). Alors qu'est-ce que je peux faire?

+0

Avez-vous déjà trouvé une réponse? – Cuga

+0

@Cuga - Non, je n'ai jamais trouvé de réponse. –

Répondre

1

J'ai eu un problème similaire, décrit ici: wsimport - two declarations cause collision, same line number given

Je recevais cette erreur lors de l'exécution de cette commande:

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

Merci à l'aide de @Petru Gardea j'ai pu finalement franchir ceci en omettant la spécification du paquet -p com.generated à wsimport. Donc, voici ce que j'ai finalement réussi à faire pour résoudre ce problème:

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