Bonjour à tous,
Je code actuellement un client utilisant un Web Service avec SOAP (j'utilise donc le package SOAP::Lite). J'ai déployé le service côté serveur en local avec Axis. Rien de bien problématique, et le service de base d'Axis (j'ai nommé Version) s'appelle de la manière suivante chez moi :
Ceci fonctionne et me renvoie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 # Connexion pour essai $ws = SOAP::Lite -> proxy('http://localhost:9000/axis/services/') -> service('http://localhost:9000/axis/services/Version?wsdl'); print $ws -> getVersion(), "\n";
Nickel !Apache Axis version: 1.4
Built on Jan 18, 2006 (05:05:47 CET)
Je veux donc utiliser mon webservice à moi, en y faisant appel de la même manière :
À l'exécution, je récupère bien le wsdl (les 5 premiers points de suspension sont affichés), puis à l'appel de la méthode connect on me renvoie l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 my $proxy = 'http://localhost:8080/axis/services/'; my $service = 'http://localhost:8080/axis/services/mon_service?wsdl'; # Recuperation du wsdl du service : print "Connecting to web service..."; $ws = SOAP::Lite -> proxy($proxy) -> service($service); print ".."; # Connexion au web service proprement dit : $uid = $ws -> connect('mon_login','mon_passwd'); print "..\nuid de l'API : $uid\n";
Qu'en pensez-vous ? L'appel à la même fonction depuis mon navigateur web fonctionne et nostre Firefox chéri nous renvoie un beau XML... J'avoue que je ne comprends pas.404 Not Found at /home/a_po/mon_chemin/bin/../lib/libMonApi.pm line 74
Cela fonctionne notamment si je fais dans le navigateur :
Étrange non ? Le chemin est sensé exister, et je récupère bien le wsdl... ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part http://localhost:9000/axis/services/arcsys?method=connect&login=arcsys42super&password=infotel0
Merci d'avance pour votre aide !
Partager