[Web Service] NuSOAP, PHP et tableau
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 :
Code:
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 essayé de renvoyer par exemple $recherche['pays'][0] et le web-service me dit :
Citation:
wsdl error: () is not a supported type.
J'ai utilisé un peu de code pour débugger et voilà une partie de ce qui est mis :
Code:
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"
// ...
} |
Apparemment le tableau est bien récupéré par le web-service donc je ne comprends pas.
Si vous souhaitez plus de code, dites-le moi.
Merci de votre aide