chose étrange ...JiBXException: liaisons multiples définies pour la classe
J'ai une définition de liaison utilisateur-wrapper.xml:
<binding>
<include path="core-wrapper.xml" />
<include path="user-composite-entity.xml" />
<mapping name="users" class="UserWrapper" extends="CoreWrapper">
<structure map-as="CoreWrapper" usage="optional" />
<collection field="users" usage="optional" item-type="UserCompositeEntity">
</collection>
</mapping>
</binding>
Ensuite, j'ai cette définition de liaison utilisateur-composite entity.xml (inclus dans le fichier supérieur):
<binding>
<include path="core-composite-entity.xml" />
<include path="user-entity.xml" />
<mapping name="user" class="UserCompositeEntity" extends="CoreCompositeEntity">
<structure map-as="CoreCompositeEntity" />
<structure field="userEntity" usage="optional" />
<structure field="meta" marshaller="UserMetaHashMapper" unmarshaller="UserMetaHashMapper" usage="optional" />
</mapping>
</binding>
maintenant, si je l'appelle REST qui utilise la liaison utilisateur wrapper.xml, la cartographie va avec succès à travers. Si je l'appelle REST qui utilise la liaison utilisateur-composite entity.xml je reçois l'erreur suivante:
org.jibx.runtime.JiBXException: Multiple bindings defined for class UserCompositeEntity
Maintenant, la chose étrange (pour moi). Si je retire de l'utilisateur-wrapper.xml <include path="user-composite-entity.xml" />
va un comme ceci: - appel avec-composite entity.xml utilisateur est un, succès - Conférence téléphonique à l'utilisateur-wrapper.xml je reçois l'erreur:
org.jibx.runtime.JiBXException: No marshaller defined for class UserCompositeEntity
Je sais comment utiliser Google;) J'ai découvert que JiBX compile toutes les classes dans chaque liaison, donc si vous avez les mêmes classes dans plusieurs liaisons, JiBX les compile toutes. J'ai juste besoin de tout déplacer de user-wrapper.xml à user-composite-entity.xml et ça marche. – Trick
Peut-être prendre le temps de répondre avec quelques détails et le sélectionner comme une réponse, de sorte qu'il serait référencé sur StackOverflow – elhoim