Bonjour à tous,
voila pour un projet, je dois développer un webservice et l'intégrer à spring, j'ai choisis Axis 2 pour diverses raisons et je rencontre actuellement un problème.
J'ai bien créer mon projet, mon webservice avec ses méthodes (elles fonctionnent via tomcat).
Le wsdl est bien généré.
Et je veux générer le client via NetBeans.
Je fais donc create web service client, je lui file mon wsdl et il me génère le client.
Je fais un drag n drop de mes méthodes en dessous de mon main :
1 2 3 4 5 6 7 8 9 10 11 12
|
private static String hello(java.lang.String name) {
testaxis23.UserManager service = new testaxis23.UserManager();
testaxis23.UserManagerPortType port = service.getUserManagerHttpSoap11Endpoint();
return port.hello(name);
}
private static User getUser(java.lang.String email) {
testaxis23.UserManager service = new testaxis23.UserManager();
testaxis23.UserManagerPortType port = service.getUserManagerHttpSoap11Endpoint();
return port.getUser(email);
} |
La première retourne un simple String, et la deuxième un objet User.
J'appelle ces méthodes dans mon main :
1 2 3 4 5 6 7
| try {
String string = "monmail@gmail.fr";
User result = getUser(string);
System.out.println("Result = " + result + "/" + result.getFirstName());
} catch (Exception ex) {
System.out.println("Exception: " + ex);
} |
Quand j'appelle hello() cela me retourne bien mon String et l'affiche correctement mais quand j'appelle getUser() et que je veux afficher un résultat j'obtiens :
Result = testaxis23.User@402af3/javax.xml.bind.JAXBElement@c3e9e9
Pourtant quand je passe la souris sur ma fonction getUser dans le main, elle indique bien qu'elle retourne un objet de type User.
Je me doute bien que c'est un problème de parsing mais je ne vois pas comment le résoudre.
Donc comment pourrais-je récupérer mon objet pour y faire de simple user.getNom() ?
De plus, dans divers tuto et ce post ici
on me dit de générer le stub via wsdl2java mais je rencontre une erreur de type log4j mal initialisé que je n'ai jamais réussis a résoudre.
Merci d'avance
Partager