Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1581 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Web Service Axis, inversion paramètres methode

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Web Service Axis, inversion paramètres methode

n°1902545
Flaie
No it's necessary
Posté le 06-07-2009 à 10:33:13  profilanswer
 

Bonjour à tous,
 
j'ai un souci sur un web service en Java crée via Eclipse utilisant Axis.
 
J'expose une méthode qui prends N paramètres (N>1) et je génère le web service via eclipse en mode litteral/wrapped afin de pouvoir l'appeler via des requêtes HTTP GET, car à terme ils devraient être appelés par du javascript pour des besoins d'auto-completion ou validation business.
 
J'ai donc un problème qui est que lorsque j'appelle les web service via Firefox ou IE j'ai les paramètres des méthodes qui sont inversés. Ça marche très bien si j'envoie directement des requêtes SOAP ou via le Web Service explorer d'Eclipse.
J'ai fait donc un petit exemple  
 

Code :
  1. public class TestWS {
  2.     public String testWith2(String param1, String param2) {
  3.         return result(param1, param2);
  4.     }
  5.     public String testWith3(String param1, String param2, String param3) {
  6.         return result(param1, param2, param3);
  7.     }
  8.     public String testWith4(String param1, String param2, String param3, String param4) {
  9.         return result(param1, param2, param3, param4);
  10.     }
  11.     private static String result(String... params) {
  12.         StringBuilder b = new StringBuilder();
  13.         int i = 0;
  14.         for(String p: params) {
  15.             b.append("param " ).append(++i).append(" = " ).append(p);
  16.             if (i < params.length)
  17.                 b.append(" / " );
  18.         }
  19.         return b.toString();
  20.     }
  21. }


 
Puis dans eclipse clic droit sur la classe > Web service > create web service > litteral/wrapped > Finish
 
Si j'appelle via IE ou firefox voici le resultat :
http://localhost:8080/projet/TestW [...] param2=def

Code :
  1. <soapenv:Envelope>
  2.  <soapenv:Body>
  3.    <testWith2Response>
  4.      <ns1:testWith2Return>param 1 = def / param 2 = abc</ns1:testWith3Return>
  5.    </testWith2Response>
  6.  </soapenv:Body>
  7. </soapenv:Envelope>


http://localhost:8080/projet/TestW [...] param3=ghi

Code :
  1. <soapenv:Envelope>
  2.  <soapenv:Body>
  3.    <testWith3Response>
  4.      <ns1:testWith3Return>param 1 = ghi / param 2 = def / param 3 = abc</ns1:testWith3Return>
  5.    </testWith3Response>
  6.  </soapenv:Body>
  7. </soapenv:Envelope>


Il m'a bien inversé les paramètres (on dirait qu'il les dépiles) du coup ça pose problème dans les méthodes appelées qui se retrouvent avec une entrée totalement invalide (des Calendar sont filé à la place d'Integer ou autre).
 
J'aimerais donc savoir si vous avez déjà eu ce problème, est-ce un problème venant du navigateur ? De la config d'eclipse ? Tout est Ok du côté du wsdl au niveau de l'ordre des paramètres et lors d'un appel via un message SOAP directement ou le web service explorer d'eclipse j'ai bien la réponse attendue.
 
Si ce n'est pas possible à régler il me faudra trouver un autre moyen que via GET pour appeler un web service en javascript, car je ne sais pas comment transmettre un message SOAP généré via javascript au web service (via post mais comment ?) ? Si ca peut aider j'utilise jQuery, mais bon là on s'éloigne de Java.
 
Merci à ceux qui pourront m'aider  :jap:


---------------
Always wear a camera!
mood
Publicité
Posté le 06-07-2009 à 10:33:13  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Web Service Axis, inversion paramètres methode

 

Sujets relatifs
Serveur pour programmer un service telephonique ?Paramètres pour .exe de py2exe
[STRUTS]Envoyer un formulaire valide a partir d'une action Struts [OK][Spring Security] Authentification avec un Web service
web service[Java] Appeler un service web
[Webservice] Determiner l'url du service du serveur[Web] Problème d'affichage de contenu
Lancement de service avec un script 
Plus de sujets relatifs à : Web Service Axis, inversion paramètres methode


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR