Question

J'utilise IntelliJ IDEA 8 et l'axe pour mettre en place un webservice qui est déployé sur tomcat5.5. Le fichier WSDL généré ressemble à ceci: http://track.priskick.se/Tracker.wsdl

Une méthode est déclarée comme

public void storeImpressionReport(int siteId, int adId, int zoneId, int count,
                                  int excludeCount) { ... }

et exposé dans le webservice. , Je construis Ensuite, le client (également Java) en utilisant l'axe, mais comme un appel à la méthode d'exécution est faite avec le 0,0,0,0,0 paramètres, j'obtiens ceci:

Tried to invoke method public void com.xxxxx.xxxx.xxxx.xxxxx.storeImpressionReport(int,int,int,int,int) with arguments java.lang.Integer,null,null,null,null.  The arguments do not match the signature.; nested exception is: java.lang.IllegalArgumentException

La réduction du nombre de paramètres de la méthode à 1 rend fonctionner, mais cela se sent comme une limitation assez stupide et un comportement étrange. S'il vous plaît aidez-moi si vous savez ce qui pourrait être mal ici - pourquoi je ne peux pas exposer les méthodes et leur faire prendre plus d'un paramètre?

=== UPDATE

Je maintenant essayé générer le java client à l'aide wsdl généré à partir IntelliJ au lieu d'appeler le service avec l'option? Wsdl. Cette wsdl conserve les noms de paramètres corrects, peut-être parce que le générateur a accès à la source. Maintenant, je reçois

Aucune opération 'siteId' AxisFault

Ce sont les fichiers pertinents: http://track.priskick.se/Tracker/TrackerSoapBindingStub.java http://track.priskick.se/Tracker/TrackerServiceTestCase.java http://track.priskick.se/Tracker/Tracker_PortType.java http://track.priskick.se/Tracker/TrackerService.java http://track.priskick.se/Tracker/TrackerServiceLocator.java

wsdl utilisé pour le client se trouve à http://track.priskick.se/Tracker.wsdl

le service se trouve à http://stage.klikki.com/services/Tracker

Vive Marcus Johansson

Était-ce utile?

La solution

Oh la joie. J'ai changé le style de service à Emballé, et cela semble avoir résolu le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top