bonjour a tous,
j'ai un petit soucis avec un bête script Perl utilisant le module SOAP::Lite , script client
et le script "serveur" utilisant le module SOAP::Transport::HTTP;
je suis améne a devoir utiliser SOAP pour faire transiter des données par XML.
Donc, je me dis autant essaier un truc tout simple pour commence et pour voir comment les 2 scripts vont communiquer ensemble via SOAP.
mon script serveur /var/www/cgi-bin/soap_essai/serveur.cgi
Mon script client /root/Desktop/client.pl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #!/usr/bin/perl -w print "Content-type: text/xml\n\n"; use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('afficher') -> handle(); package afficher; sub affichage{ return "zut"; } sub affiche{ return "fonction 2"; }
lorsque je l'execute voila ce que j'obtien. Je vois mon message SOAP, mais la méthode ne s'execute pas,peut etre le probleme vient d'apache qui serai mal configuré, ou une erreur dans le script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #!/usr/bin/perl -w use SOAP::Lite; print SOAP::Lite ->uri('http://localhost') ->proxy('http://localhost/cgi-bin/soap_essai/serveur.cgi') ->affiche() ->result; print "requete envoiée\n";
j'ai déja tenté beaucoup de chose, mais toujours le meme problème la méthode ne veut pas retourné une valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Could not find MIME::Parser - is MIME::Tools installed? Aborting. at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Packager.pm line 114. Status: 500 Internal Server Error Content-Length: 563 Content-Type: text/xml; charset=utf-8 SOAPServer: SOAP::Lite/Perl/0.710.08 <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Denied access to method (affiche) in class (main) at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2678. </faultstring></soap:Fault></soap:Body></soap:Envelope> at ./client.pl line 4
Merci, A+
Partager