Bonjour,
Je suis en train de jouer avec les Webservices notamment SOAP, j'arrive bien a faire communiquer mes petits jusqu'au moment ou je veux jouer avec les entêtes.
Lorsque que j'utilie le logiciel Oxygen pour tester mon WSDL, il me propose bien comme entête le code suivant
Quand je remplis le login et le mot de passe, c'est correctement récupéré coté serveur, et correctement traité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <SOAP-ENV:Header> <_w:Credentials> <_w:Login>STRING</_w:Login> <_w:Password>STRING</_w:Password> </_w:Credentials> </SOAP-ENV:Header
Mais voila, le problème est du côté client en php, j'ai essayé toutes les variantes que j'ai pus trouver sur le web, et la méthode "Credentials" n'est pas appelée
voila le retour du var_dump :
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
26
27
28
29
30
31
32 $Login = 'test'; $Password = 'pass'; $wsdl = 'test2.wsdl'; $namespace = 'http://localhost/_webservices/'; $Credentials = array( 'Login' =>new SOAPVar($Login, XSD_STRING, null, null, null, $namespace), 'Password' =>new SOAPVar($Password, XSD_STRING, null, null, null, $namespace), ); $test = new SoapClient( $namespace.$wsdl, array( 'trace' => 1, 'soap_version' => SOAP_1_2, 'style' => SOAP_RPC, 'encoding' => SOAP_LITERAL, 'cache_wsdl' => WSDL_CACHE_NONE ) ); $headerBody = new SOAPVar($Credentials, SOAP_ENC_ARRAY); $header = new SOAPHeader($namespace, 'Credentials', $headerBody); $test->__setSOAPHeaders($header); $listeType = $test->GetTypeFichiers(); print('<pre>');var_dump($test);print('</pre>');
Je tourne en rond depuis ce matin à essayer d'envoyer les données au bon endroit, mais la je bloque.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 object(SoapClient)#3 (4) { ["trace"]=> int(1) ["_soap_version"]=> int(2) ["sdl"]=> resource(3) of type (Unknown) ["__default_headers"]=> array(1) { [0]=> object(SoapHeader)#5 (4) { ["namespace"]=> string(43) "http://ogfdev.auxia.lan/david/_webservices/" ["name"]=> string(11) "Credentials" ["data"]=> object(SoapVar)#4 (2) { ["enc_type"]=> int(300) ["enc_value"]=> array(2) { ["Login"]=> object(SoapVar)#1 (3) { ["enc_type"]=> int(101) ["enc_value"]=> string(3) "ogf" ["enc_namens"]=> string(43) "http://ogfdev.auxia.lan/david/_webservices/" } ["Password"]=> object(SoapVar)#2 (3) { ["enc_type"]=> int(101) ["enc_value"]=> string(4) "Pass" ["enc_namens"]=> string(43) "http://ogfdev.auxia.lan/david/_webservices/" } } } ["mustUnderstand"]=> bool(false) } } }
Merci d'avance
Partager