Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/03/2011, 10h27   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 236
Points : 62
Points : 62
Par défaut Générer une classe à partir d'un wsdl. ou mettre en session

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 :
 $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 :
$_SESSION['ws_client'] = $client;
bon ok... jusque là c'est bien...
si je fais
Code :
var_dump($client->__getFunctions());
ou
Code :
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 :
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 :
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
++
CaviarNAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h56.


 
 
 
 
Partenaires

Hébergement Web