Bonjour à tous,
Je dois effectuer des appels SOAP depuis un script perl pour récupérer certaines valeurs, pour un traitement futur.
Dans ce projet, quelqu'un à mis en place des webservice avec fichier WSDL dévéloppé en Java, qui ne représente pas encore la réalité, mais qui devront me permettre de mon coté d'avancer.
J'ai effectué un test assez basique, et je me retrouve avec une erreur dont j'ai du mal à saisir le pourquoi.
Le code simpliste est le suivant :
Mon résultat est le suivant :
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
20
21
22
23
24
25 #! /usr/bin/perl use strict; use warnings; use SOAP::Lite; # +trace => [ transport => sub { print $_[0]->as_string } ]; my $soap= SOAP::Lite -> uri("http://hsc.project.com/services") ->proxy("http://192.168.60.1:8080/HSC-Authnz-1.0mock/authnz?wsdl") ; # ->getUserInformation("toto") ; print "\n\n resultat : "; print $soap -> encryptToken("toto") -> result(); print "middle \n\n"; print "\n\n resultat : "; print $soap -> encryptToken("toto") -> result(); print "\n\n";
J'appel deux fois la même méthode et donc m'attend à recevoir deux fois le même résultat, mais il semble que la seconde fois il ne soit pas capable d'interpréter l'xml.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #./clientSOAP.pl resultat : 06abCfRTNhjytthjsfdudfzkj7856sdhgghsjkjk99jhsjdhnbnsdbvsnbd99nsdnsdsndbns==middle Unresolved prefix 'S' for attribute 'S:Envelope' <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:encryptTokenResponse xmlns:ns2="http://hsc.test.com/services"><return>06abCfRTNhjytthjsfdudfzkj7856sdhgghsjkjk99jhsjdhnbnsdbvsnbd99nsdnsdsndbns==</return></ns2:encryptTokenResponse></S:Body></S:Envelope> at ./clientSOAP.pl line 20
Auriez vous une idée d'ou cela peut venir?
Merci d'avance.
Partager