|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éclairé
![]() Développeur Web Inscription : avril 2004 Messages : 319 ![]() |
Alors voilà j'ai un nouveau soucis...
J'envoie plusieurs types paramètres dans ma méthode, et j'ai besoin de les tester avant de les traiter, et cela, côté serveur. Pour qu'il y ait dans tout les cas aucun problème si le client envoie n'importe quoi. J'ai donc remarqué quelque chose d'assez bizarre (et oui toujours...). Je vais vous donner l'exemple d'un passage d'un int, l'age d'une personne. J'ai donc dans mon WSDL : name="age" type="xsd:int" A l'arrivée dans ma méthode côté serveur je teste ceci : Code :
La seule possibilité est de faire passer un NULL, dans ce cas il trouve bien que la variable $age est un NULL et non pas un int. Le hic, c'est que j'effectue alors un autre test : if ($age==NULL) Donc en théorie, l'age est uniquement null quand on l'a précisé à l'appel de la fonction. Et ben non ! ![]() Dès qu'il ne trouve pas un int, ce dernier test passe... Donc pour lui un int=0 c'est égal à un NULL... D'un côté c'est cool, quand il trouve pas de int, le dernier test correspond. Mais si on veut utiliser le paramètre age quand il est egal 0, ben dans le cul si je puis me permettre, il dit qu'il ne trouve pas de int... Donc ma question : Ou se fait cette espèce de cast, ce forçage de passer le bon type ? Et est-ce controlable ? Ou bien les tests doivent se faire uniquement côté client ? Désolé pour le pavé, j'espère que vous m'avez compris Merci de votre aide ! ^^ |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Développeur Web Inscription : avril 2004 Messages : 319 ![]() |
Bon alors en fait, à priori, côté serveur je recevrai toujours les types demandés, à moins qu'un NULL soit passé 'en force'.
J'ai testé avec un WSDL différent pour mon client, en lui envoyant un autre type définit dans le WSDL côté serveur, et ca me sort une bonne vieille erreur indiquant une erreur côté serveur... Donc pas possible de tout maitriser les inputs côté serveur, le client doit pas faire n'importe quoi non plus. Ralala qu'est-ce qui faut pas faire pour tester... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com