|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
Bonjour,
j'ai mis en place un webservice conçu avec la bibliothèque nusoap, ce dernier me renvoi des données xml, mais le flux xml est devenu volumineux avec le temps. Y'a t'il un moyen de compresser les données envoyées par le serveur (nusoap), et de les décompresser chez le client (nusoap) ? J'ai cherché sur le net, mais il n'y a pas d'explications pour NuSOAP. Merci de votre aide. Cordialement |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Le format SOAP n'a pas de compression native. Il faudra le faire manuellement si tu veux reduire la taille de tes flux. NuSOAP ni est pour rien il applique le format. Cela dit il est possible d'étendre SOAP pour lui permette de compresser les données mais il faut pour cela modifier le client et le serveur.
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
Salut batataw,
merci de ta réponse, aurait tu une ou plusieurs source vers laquelle me diriger s'il te plait? sur cette page j'avais vu que la compression était possible, mais il ne s'agissait pas de nusoap mais d'une autre bibliothèque : Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Développeur Web Inscription : avril 2004 Messages : 319 ![]() |
Salut !
En fait ce n'est pas une autre bibliothèque, ce sont les fonctions natives de PHP 5. Donc si tu développe sous PHP 4 voire une version antérieure, il faut que tu cherches une autre méthode. Je n'en connais pas d'autres par contre, désolé. Bon courage |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
Ok bien noté,
je développe actuellement en php version 5.2 ;-). Aurais-tu plus d'infos pour me permettre d'avancer un chtit peu ? merci |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Effectivement c'est une bonne piste, tu peux tres bien compresser les transferts des données HTTP independament de SOAP. Il suffit pour cela de specifier dans l'entete d'utiliser la compression GZIP. En revanche je ne sais pas si la réponse sera compressée.
|
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() Développeur Web Inscription : avril 2004 Messages : 319 ![]() |
Je n'ai jamais utilisé de compression de données. Mais comme à dit batataw, c'est fort probable qu'il faut modifier aussi le serveur pour décompresser les données reçues.
Enfin du coup en passant si t'es sur PHP 5, je te conseille de passer avec les fonctions natives de PHP et de laisser tomber NuSOAP ^^ D'ailleurs je te fait circuler ca on sait jamais ! Code :
Sinon également faut surement changer le WSDL si tu passes des données compressées, enfin je pense. T'as essayé de juste activer la compression dans ta déclaration du client ? Et voir déjà si cela fonctionne |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
à destination de batataw -->
arf, cool, mais bon je préfèrerais quand meme trouver quelqu'un qui a déja joué avec la compression sur les flux SOAP via nusoap, cela m'éviterais de galérer a recoder le client et le serveur nusoap (plus de 7000 lignes de code a eux deux). galère galère. |
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Développeur Web Inscription : avril 2004 Messages : 319 ![]() |
Ah oui effectivement...
Je ne peux pas t'aider plus, je n'ai jamais touché à NuSOAP. Bonnne recherche et bon courage |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
Merci Guybrush113,
en fait nous utilisons Nusoap car les fonctionnalités SOAP de php5 ne semble pas fonctionner correctement pour un webservice sécurisé https. |
|
|
00
|
|
|
#11 | ||
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Dans Nusoap, tu as une method setHeader, tu devrais l'essayer.
Code :
|
||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
la méthode
Code :
setHeaders('Accept-Encoding', 'gzip,deflate'); Reste plus qu'à vérifier avec une grosse quantité de données. je vous tiens au courant des résultat de tests. Merci pour ton aide batataw. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com