le20k a écrit :
 
 Bonjour à tous !
   Dans un but premier, je cherchais à monter en session une instance de soapClient afin de garder une connexion "permanente" sans avoir à recréer de connexion à chaque requete à mon server soap.
 J'ai lu quelques articles référencés sur google disant que les objets de classe Soap ne pouvaient etre mis en session .... joie ...
   D'où cette question : comment faire pour réutiliser une connexion soap existante sans avoir à en recréer une ?
  
  Code :
 - // création d'un objet soap
 - $monSoapClient = new SoapClient("https://123.456.789.0:1234/Tralala?wsdl",
 -   	array(
 -     "loginName" => "bob",
 -     "password" => "motdepasse",
 -     "trace" => 1,
 -     "exceptions" => 1,
 -     "_soap_version" => 1.2
 -   	));
 - // ouverture d'une session
 - $instance = $monSoapClient->__soapCall(
 -   	"OpenConnectionAndBeginSession",
 -   	array(
 -     "loginName" => "bob",
 -     "password" => "motdepasse",
 -     "appID" => "whatever",
 -     "appName" => "myAppName",
 -     "qbFileName" => "fichier_quickbooks",
 -     "reqFileMod" => "MultiUser"
 -   	));
 - // exemple de passage de requete
 - $resultat_xml = ($monSoapClient->__soapCall("processRequest",array('instance'=>$instance,'request'=>$ma_requete_xml)));
 
  |  
 
   L'idée serait de faire quelque chose du genre, et ce, quel que soit l'endroit où s'est exécuté  :
  
  Code :
 - if(!isset($monSoapClient)) {
 - 	// code exécuté uniquement 1 seule fois de toute la session de travail dans l'application web
 - 	$monSoapClient = creer_un_objet_soap();
 - }
 - if(!isset($mon_instance)) {
 - 	// code exécuté uniquement 1 seule fois de toute la session de travail dans l'application web
 - 	$mon_instance = creer_une_instance();
 - }
 - $resultat_xml = executer_une_requete( $ma_requete , $monSoapClient, $mon_instance );
 
  |  
 
   Pas très clair tout ça, mais c'est le mieux que je puisse faire :S
   Toute aide est vraiment la bienvenue !    
   |