Salut à tous...
voila, j'ai une problématique d'optimisation du temps de réponse de mon appli.
En gros voila ce qui se passe

Je me connecte au WSDL (que j'ai préalablement copié en local)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 $client = new SoapClient(URL_WSDL_GENERAL, array('trace' => true, 'style'    => SOAP_DOCUMENT, 'use'  => SOAP_LITERAL, "features" => SOAP_SINGLE_ELEMENT_ARRAYS));
Je stocke une instance de cet objet en session pour y accéder directement depuis certaines fonctions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$_SESSION['ws_client'] = $client;
bon ok... jusque là c'est bien...
si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var_dump($client->__getFunctions());
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
var_dump($_SESSION['ws_client']->__getFunctions());
ça fonctionne ...
mais, c'est là que ça se corse...
si je charge une autre page avec simplement l'appel de l'objet en session sans passer par l'étape de connexion

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
var_dump($_SESSION['ws_client']->__getFunctions());
ça ne marche plus...
En fait php5 ne gère pas le passage d'objets SOAP via SESSION...
comme on dit "c'est pas cool"...

la question que je me pose est la suivante...
au moment de la connexion, une classe doit être générée par php afin de générer l'objet $client et ses méthodes associées...

Ne serait il pas possible de récupérer le code source de cette classe pour l'intégrer dans un fichier php à charger via include

genre

client.inc.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
class client{
   function SOAPfunction($edible, $color="green")    {
      //blablabla
   }
.
.
.
ensuite au lieu de demander à SOAP de regénérer cette classe à chaque fois (ce qui d'après mes tests est assez long) on la rechargerai directement ...

enfin bref l'idée est d'optimiser ces temps de chargement... car selon la vitesse du réseau entre la machine client et la machine serveur, ça peut prendre un temps fou, rien que pour la connexion SOAP...

si vous avez des pistes je suis fortement preneur
++