Problème variable static dans une classe soap

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème variable static dans une classe soap

Problème variable static dans une classe soap

par benprim » 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 !
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 !!! ...
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 !