Soap lite: URI is not provided as an attribute for method
Bonjour,
Je suis débutant en perl et en webservices (ça commence mal !) mais mon besoin est assez simple.
Un webservice est disponible pour récupérer l'id d'un utilisateur à partir de son login NT et j'essaie d'y faire appel depuis un script Perl. J'utilise Soap Lite mais je n'arrive pas à faire appel au webservice, malgré de nombreux tutoriels trouvés ici et là.
Mon script Perl:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #########################################################################
# Script Name : NTLoginToUID.pl
# Goal : Get an UID from an NT login
# Args :
# Output :
# History :
#########################################################################
use SOAP::Lite;
my $soap = SOAP::Lite
-> uri('http://xxxxxxx/xxxxxxx/directory.asmx')
-> proxy('http://xxxxxxx/xxxxxxx/directory.asmx?wsdl');
my $method = SOAP::Data->name('GetUIDFromNTLogin');
my @params = ( SOAP::Data->name(NTLogin => '123456'));
print $soap->call($method => @params)->result; |
Dans la doc de la méthode j'ai :
Request:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| POST /xxxxxxx/directory.asmx HTTP/1.1
Host: xxxxxxx
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetUIDFromNTLogin"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUIDFromNTLogin xmlns="http://tempuri.org/">
<NTLogin>string</NTLogin>
</GetUIDFromNTLogin>
</soap:Body>
</soap:Envelope> |
Response:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUIDFromNTLoginResponse xmlns="http://tempuri.org/">
<GetUIDFromNTLoginResult>string</GetUIDFromNTLoginResult>
</GetUIDFromNTLoginResponse>
</soap:Body>
</soap:Envelope> |
Quand je lance mon script, j'ai l'erreur suivante :
URI is not provided as an attribute for method (GetUIDFromNTLogin)
J'ai cherché sur le net, sur Developpez.net, mais je n'ai pas trouvé de solution... Toute piste serait extrêmement appréciée ! (Je bloque depuis un bout de temps déjà...)
Merci pour votre aide,
Will1v