Je reçois cette exception (écrite dans le titre) lorsque j'essaie d'appeler un webservice. La route jusqu'à présent était, j'ai généré un tas de classes pour les objets, le service et les méthodes de service via wsimport et si je n'utilise que les objets générés appelant les travaux de service. Le problème est que wsimport génère aussi des classes qui existent déjà en tant qu'objets de mon domaine et, évidemment, je ne peux pas passer de l'un à l'autre, donc je veux seulement utiliser mes objets de domaine. J'ai donc supprimé les objets dupliqués générés et ajouté les annotations JAXB requises aux objets de mon domaine. J'ai également copié le package-info.java généré et ObjectFactory.java dans les packages correspondants. Mais maintenant, quand j'essaie d'appeler le service, j'obtiens cette exception que l'objet proxy représentant la méthode est inconnu du contexte. Est-ce que quelqu'un a une idée de ce qui pourrait être la raison de ce problème? Un conseil très apprécié.
Merci, SimonProblème JAXB avec "com.xyz.ReadSomething ni aucune de ses super classe est connu dans ce contexte."
Problème JAXB avec "com.xyz.ReadSomething ni aucune de ses super classe est connu dans ce contexte."
Répondre
Sur votre essai de classe annotée JAXB ajoutant @XmlSeeAlso({ReadSomething.class})
. C'est ainsi que j'ai résolu l'exception dans mon code.
Mais il est difficile de dire si cela va résoudre votre problème ou non sans voir votre code.
J'ai eu un problème très similaire qui a été résolu en reconstituant mes fichiers générés par XJC.
Les objets Web utilisés par mon service Web cible étaient définis sur plusieurs fichiers XSD et lorsque j'utilisais XJC sur chacun d'entre eux, l'objet ObjectFactory était écrasé à chaque fois, de sorte que certaines classes étaient définies. J'ai couru XJC encore et concaténé manaully toutes les définitions d'objet dans une seule ObjectFactory et s'est assuré que je faisais référence à cette usine chaque fois que j'avais besoin d'un objet client. Cela a finalement réglé mon problème.
Plutôt que de concaténer manuellement dans 'ObjectFactory' généré, je pense que ce problème pourrait être résolu en spécifiant simplement tous vos fichiers' .xsd' dans la même commande à ** XJC **. De cette façon, toutes vos classes seront accessibles dans 'ObjectFactory'. –