Déploiement de WebService (problème avec mon WSDL)

Déploiement de WebService (problème avec mon WSDL) - Java - Programmation

Marsh Posté le 27-07-2010 à 18:12:05    

Bonjour à tous.
 
Je vous écrit un peu à bout de souffle, car mon problème devient urgent et je commence à baisser les bras.  :cry:  
 
En résumé :
Je développe un webservice Java avec NetBeans sur mon PC windows (ouh) afin d'être accessible sur une appli iPhone. Je peux facilement le déployer grâce aux outils intégrés à l'IDE, et les WS sont accessibles grâce à l'IP interne de ma machine (http://192.168.0.xx:8080/axis/etc...)
 
Je veux maintenant déployer mon WebService sur un serveur hébergé. Le problème est que je ne peux plus utiliser la méthode intégrée de NetBeans, j'utilise donc un script Ant. Mon script Ant génère une archive au format AAR, qui est ensuite placée dans mon dossier Axis2 du serveur pour être mise en place au prochain lancement de Tomcat
 
C'est là que commence mes malheurs.  :D  Dans le fichier WSDL auto-généré (Axis2 génère automatiquement un fichier WSDL à partir du fichier AAR si aucun ne lui est fourni) les méthodes sont bien définies, mais les arguments sont nommés args0, args1, etc.... Cela dit, les appels aux méthodes fonctionnent si l'on utilise ces noms-là. Mais, cela me pose problème car l'appli iPhone, elle, accède aux méthodes en utilisant les vrais noms de paramètres (IdMachin, NumTruc, ...).
 
Je dois donc trouver un moyen de forcer le nom des paramètres dans la description WSDL. Au final, j'ai essayé beaucoup de choses :
- modifier mon code Java pour que la génération auto du WSDL par Axis2 soit correcte (c'est cette méthode que je préfèrerais faire fonctionner...)
      --> Apparemment rajouter les tags Javadoc (@param et @return) ne change rien à la donne.
- essayer de générer le fichier WSDL dans mon script Ant avec le target java2wsdl.
      --> java2wsdl me retourne toujours des erreurs de Log4J (mauvaise configuration) que je n'ai pas pu résoudre. Et qui me dit que le fichier WSDL généré fonctionnera ?
- intégrer le fichier WSDL généré par NetBeans dans mon fichier AAR
      --> Ca fait un peu bricolage, mais surtout les WS ne fonctionnent plus... (je remarque que les noms de certaines balises passent de ns: à ns0: , est-ce que ça a son importance?)
 
 
Alors la question est toute bête, quelqu'un a-t-il la solution miracle pour faire apparaître le nom réel des paramètres des fonctions dans la description WSDL d'un WebService (!) (déjà, le WSDL est-il le seul endroit où sont définies les fonctions du WS ?).
Ou alors, quelqu'un peut-il me conseiller pour avancer sur l'une des 3 solutions citées ? Je commence à  :pt1cable: à force d'aller dans toutes les directions...
La deadline du projet arrive vite et même s'il avance bien, son déploiement reste impossible. Ce qui est bien, mais pas top :/
 
Merci ! (et pitié aussi).

Reply

Marsh Posté le 27-07-2010 à 18:12:05   

Reply

Marsh Posté le 28-07-2010 à 17:02:00    

Bon... Après quelques recherches...
J'ai réussi à trouver les balises @WebService @WebMethod et @WebParam à ajouter dans le code Java, qui me permettent de redéfinir le nom des paramètres. Mais ça ne change rien, mes paramètres apparaissent toujours args0,args1,etc. dans le WSDL

Reply

Marsh Posté le 08-08-2010 à 14:23:45    

Code :
  1. public void monOperation(@WebParam(name="foo" ) String foo, @WebParam(name="bar" ) String bar){
  2. }


 
Ca devrait faire l'affaire

Reply

Marsh Posté le 12-08-2010 à 11:37:25    

Yep ! Ca a marché, après pas mal d'essais. C'est bien plus pratique que d'avoir à générer un fichier... Merci bien !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed