Bonjour,
je commence à utiliser NuSOAP en PHP et je rencontre un problème au niveau des types.
Le client doit appeler le web-service avec les variables en session qui correspondant à un tableau contenant des chaines et des tableaux d'entiers.
J'ai réussi à récupérer les chaines mais pas les tableaux.
Voici une partie de ce que le web-service doit recevoir :
Array ( [pays] => Array ( [0] => 2 [1] => 3 ) [tri] => libelle)
Voici la partie du web-service correspondant à la déclaration des types :
J'ai essayé de renvoyer par exemple $recherche['pays'][0] et le web-service me dit :
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 $server->wsdl->addComplexType( 'TabRech', 'complexType', 'array', '', 'SOAP-ENC:Array', array(), array( array('ref'=>'SOAP-ENC:arrayType', 'arrayType'=>'xsd:integer[]') ), 'xsd:integer' ); $server->wsdl->addComplexType( 'MapRech', 'complexType', 'array', '', 'SOAP-ENC:Array', array( 'tri' => array('name' => 'tri','type' => 'xsd:string'), // ... 'pays' => 'SOAP-ENC:arrayType', 'arrayType'=>'tns:TabRech[]' ), array(), 'tns:TabRech' ); $server->register('GestionBase', array( 'recherche'=>'tns:MapRech' ),array( // éléments renvoyés ),'ATC','GestionBase');J'ai utilisé un peu de code pour débugger et voilà une partie de ce qui est mis :wsdl error: () is not a supported type.
Apparemment le tableau est bien récupéré par le web-service donc je ne comprends pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 2010-04-26 14:56:32.348051 wsdl: in serializeType: name=recherche, type=ATC:MapRech, use=encoded, encodingStyle=, unqualified=qualified value=array(7) { ["pays"]=> array(2) { [0]=> string(1) "2" [1]=> string(1) "3" } ["tri"]=> string(7) "libelle" // ... }
Si vous souhaitez plus de code, dites-le moi.
Merci de votre aide
Partager