Problème variable static dans une classe soap
Posté : 02 juil. 2008, 19:21
Bonjour à tous,
Voila, j'ai un problème avec une classe que j'utilise pour créer un WebService en utilisant la classe native SOAP de PHP 5.
Je fais tourner PHP 5.2.6 sur Apache 2.2.x sur Windows.
J'essaie de changer une variable de ma classe mais elle semble être remise tout le temps à sa valeur par défaut... j'ai essayé en variable statique également ... même problème !
Si jamais l'un d'entre vous à une piste je prends !
Comme je le disais j'ai essayé déjà en déclarant $IsAuthenticated en static mais même combat...
D'avance merci !
Ben
EDIT :
Bon bah finalement j'ai trouvé tout seul :p
Le problème venait du fait que par défaut SoapServer en mode persistence par "Requête" et non par session... en utilisant la persistance par session (voir : http://fr3.php.net/manual/fr/function.s ... stence.php) et du coup en utilisant les mécanismes de sessions ça marche !
Voila, j'ai un problème avec une classe que j'utilise pour créer un WebService en utilisant la classe native SOAP de PHP 5.
Je fais tourner PHP 5.2.6 sur Apache 2.2.x sur Windows.
J'essaie de changer une variable de ma classe mais elle semble être remise tout le temps à sa valeur par défaut... j'ai essayé en variable statique également ... même problème !
Si jamais l'un d'entre vous à une piste je prends !
class myWebService {
var $IsAuthenticated;
function __construct()
{
$this->IsAuthenticated=FALSE;
}
function isUserAuthenticated()
{
if($this->IsAuthenticated)
return true;
else
return false;
}
function Login($account,$rootpw)
{
$this->IsAuthenticated=TRUE;
}
}
Dans mon code client (la pour le coup en C# si je fais ça :
Code : Tout sélectionner
...
MyWebService qaWS2 = new MyWebService();
bool b;
b=qaWS2.isUserAuthenticated();
// La b est bien à false normal
qaWS2.Login("", "");
b = qaWS2.isUserAuthenticated();
// Et bah là c'est toujours à false !!!
...
D'avance merci !
Ben
EDIT :
Bon bah finalement j'ai trouvé tout seul :p
Le problème venait du fait que par défaut SoapServer en mode persistence par "Requête" et non par session... en utilisant la persistance par session (voir : http://fr3.php.net/manual/fr/function.s ... stence.php) et du coup en utilisant les mécanismes de sessions ça marche !