J'ai une ancienne application Java qui utilise la classe mypackage.Foo. Je voudrais que cette application utilise un service web qui renvoie des instances de Foo. Pour me connecter à ce service web, j'utilise wsimport sur le WSDL pour générer les artefacts, et cela me donne un autre fichier Foo.java. Idéalement, je voudrais dire à wsimport de générer des artefacts qui utilisent le Foo d'origine et de ne générer aucun fichier Foo supplémentaire, mais je n'ai pas trouvé le moyen de le faire. Comment puis-je réconcilier les deux fichiers Foo dans l'application Java? Il semble que mes options sont:comment réconcilier les conflits entre le fichier original et le fichier généré dans les services Web Java?
1) mettre le fichier Foo généré dans un autre paquet. Mais ensuite assigner otherpackage.Foo à une mypackage.Foo variable échoue
2) utiliser le Foo généré à la place du Foo d'origine. Dans certains cas, cela semble être la meilleure solution, mais le Foo original a des fonctionnalités qui ne sont pas dans le Foo généré. De plus, il n'est pas possible de faire un changement à l'échelle de l'application. 3) utiliser la première option et écrire une méthode pour copier manuellement les champs d'otherpackage.Foo dans mypackage.Foo. Si tout le reste échoue, ce sera ce que je fais, mais cela me paraîtra horriblement inélégant. Je suis sûr qu'il me manque une bonne pratique simple là-bas. Appréciez toutes les idées!
savoir si vous avez pu vous une réponse satisfaisante à cette aide de wsimport? J'ai le même problème (http://stackoverflow.com/questions/2642583/correct-use-of-wsdl-generated-sources) –
Un collègue me propose une solution de travail qui utilise des liaisons pour mapper des types WSDL complexes à des classes locales , disant en gros à wsimport de ne pas générer de stubs pour ces classes, et d'utiliser les locales. Cet exemple utilisait maven, donc je ne sais pas à quoi ressemblerait la version canonique, mais la clé était un fichier bindings.xml avec des entrées telles que – RHH
jxb: bindings version = "1.0" xmlns: jxb = "http://java.sun.com/xml/ns/jaxb "xmlns: xs =" http://www.w3.org/2001/XMLSchema "> - -
RHH