IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Web Service][SOAP] Compression des données avec NuSOAP ?


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut [Web Service][SOAP] Compression des données avec NuSOAP ?
    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

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    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.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Exemple avec SoapClient
     
     
    <?php
     
    $client = new SoapClient("some.wsdl");
     
    $client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));
     
    $client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                                'password'       => "some_password"));
     
    $client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                                'proxy_port'     => 8080));
     
    $client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                                'proxy_port'     => 8080,
                                                'proxy_login'    => "some_name",
                                                'proxy_password' => "some_password"));
     
    $client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));
     
    $client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                         'uri'      => "http://test-uri/"));
     
    $client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                         'uri'      => "http://test-uri/",
                                         'style'    => SOAP_DOCUMENT,
                                         'use'      => SOAP_LITERAL));
     
    $client = new SoapClient("some.wsdl", 
      array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));
     
    $server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));
     
    class MyBook {
            public $title;
            public $author;
    }
     
    $server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));
     
    ?>
    Merci.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut
    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

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut
    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

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Accept-Encoding: gzip,deflate

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/12/2015, 11h05
  2. [XL-2007] Web Service SOAP Fichier WSDL / Extraction des données dans un classeur
    Par crusaders dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/12/2014, 12h05
  3. Web service soap transfert de fichier avec reprise
    Par Zugg dans le forum Web & réseau
    Réponses: 6
    Dernier message: 23/07/2013, 09h41
  4. affichage des données provenant d'un web service soap dans une listview
    Par nagca dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 04/07/2011, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo