Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] web service jelix 1.3 ; Problème d’extraction des données d’une application lorsque le nombre d’enregistrements dépasse un certain seuil.

Posted by mlmic on 03/06/2012 18:26

Bjr à tous !

J’ai mis en place un web service avec le protocole soap de jelix 1.3 qui doit se connecter à une application qui se trouve sur le même serveur (machine) que lui et extraire les informations.

J’ai mis en place un portail client avec joomla 1.7 où sont enregistrés les informations extraites de l’application via le web service pour consultation à distance par les clients enregistrés dans cette application précisée plus haut.

Dans joomla j’ai créé mon composant , dans ce composant j’ai mis en place des scripts .bat qui sont programmés via le planificateur de tâches windows. A l’exécution de la tâche planifié par exemple « mis à jour des devis », le système exécute le script php qui utilise le client nusoap_client pour se connecter au serveur Web service. les paramètres envoyés au serveur web service sont consignés dans un tableau associatif.

Le Web service doit faire appel à la méthode de l’application qui extrait les devis (tables entete et détails) et retourne au client portail sous forme d’un tableau associatif et le client se charge d’enregistrer les données dans les tables appropriées.

Le problème que j’ai actuellement c’est que lorsque le nombre d’enregistrements est supérieur à 50 (par exemple 30 lignes entête et 30 lignes détails) le web service ne retourne rien pas d’enregistrement.

Dans les tables concernées au niveau de l’application j’ai actuellement 101 lignes en-tête et 269 lignes détails.Lorsque je restreints le tableau associatif retourné à 20 lignes entêtes et 20 lignes détails par exemple j’ai le resultat ci-dessous qui est correct. j’ai fait un print_r() du tableau résultat des données extraites du web service et j’ai les données ci-dessous en ligne de commande :

            [numtextp] =>
            [mtdevis] => 5292.45
            [datdev] => 2011-01-27 00:00:00
            [origine] => 1
            [taudev] => 1
            [codevis] => 19
            [code] => 0
            [codmaj] => 0
            [codlib] =>
            [numcor] =>
            [etati] => 1
            [nbrbon] => 1
            [dossier] => 0
            [dostypeph] =>
            [dosnumph] =>
            [commt] => 4939
            [numadr] =>
            [id_county] =>
            [tauxtaxe] =>
            [datemodif] =>
            [archive] =>
            [codpays] => 0010
            [libelledoc] =>
            [numliv] =>
            [typcde] =>
            [titre_doc] =>
            [aclog] => 0
            [numsal] => 1
            [numlog] =>
            [pbliv] =>
            [fng] =>
            [pbcommt] =>
            [statut] => 1
            [supprim] => 0
            [id_file] =>
            [txttexth] =>
            [txttextb] =>
            [bp] =>
            [cedex] =>
            [numvoie] =>
            [numero] =>
            [numcedex] =>
            [mtttc] => 6509.7135
            [ctra] => 4
            [numadev2] =>
            [coderefus] =>
            [codrelance] => 0
            [datdde] =>
            [author] => 0
            [datecreat] =>
            [author_modif] =>
        )

    [10] => Array
        (
            [0] => Array
                (
                    [numdev] => 1097
                    [numlig] => 0010
                    [numart] => 3277
                    [qtecde] => 25
                    [pxvent] => 70
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => MESA REBAT═VEL PREMIUM II - 2 M (70 CM LARGURA)
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 53579
                    [numadev2] =>
                )

            [1] => Array
                (
                    [numdev] => 1097
                    [numlig] => 0020
                    [numart] => 3278
                    [qtecde] => 50
                    [pxvent] => 35
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => BANCO REBAT═VEL PREMIUM II 25X200 CM
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 53581
                    [numadev2] =>
                )

            [2] => Array
                (
                    [numdev] => 1756
                    [numlig] => 0010
                    [numart] => 863
                    [qtecde] => 5
                    [pxvent] => 43
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => BANDEIRA 100X150 CM
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 68200
                    [numadev2] =>
                )

            [3] => Array
                (
                    [numdev] => 2416
                    [numlig] => 0010
                    [numart] => 310
                    [qtecde] => 6
                    [pxvent] => 34
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => CINZEIRO-PAPELEIRA RONDO METAL
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 1589
                    [numadev2] =>
                )

            [4] => Array
                (
                    [numdev] => 2673
                    [numlig] => 0010
                    [numart] => 29
                    [qtecde] => 30
                    [pxvent] => 59.9
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => BARREIRA SECURISTAR GALVANIZADA 14 BARRAS
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 4237
                    [numadev2] =>
                )

            [5] => Array
                (
                    [numdev] => 2697
                    [numlig] => 0010
                    [numart] => 2614
                    [qtecde] => 8
                    [pxvent] => 79
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => POSTE ECOBARRIER PRETO COM CINTA PRETA DE 2 M
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 52999
                    [numadev2] =>
                )

            [6] => Array
                (
                    [numdev] => 2698
                    [numlig] => 0010
                    [numart] => 2615
                    [qtecde] => 8
                    [pxvent] => 99
                    [tva] => 0
                    [tauxrem] => 10
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => POSTE ECOBARRIER INOX COM CINTA PRETA DE 2 M
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 53000
                    [numadev2] =>
                )

            [7] => Array
                (
                    [numdev] => 4766
                    [numlig] => 0010
                    [numart] => 4135
                    [qtecde] => 1
                    [pxvent] => 34.9
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => BANDEIRA ECOFIX 120 GR. M2  100X150 CM
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 96300
                    [numadev2] =>
                )

            [8] => Array
                (
                    [numdev] => 4766
                    [numlig] => 0020
                    [numart] => 4135
                    [qtecde] => 1
                    [pxvent] => 34.9
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => BANDEIRA ECOFIX 120 GR. M2 100X150 CM
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 96300
                    [numadev2] =>
                )

            [9] => Array
                (
                    [numdev] => 4766
                    [numlig] => 0030
                    [numart] => 4135
                    [qtecde] => 1
                    [pxvent] => 34.9
                    [tva] => 0
                    [tauxrem] => 0
                    [franco] =>
                    [pxrev] => 0
                    [codstk] =>
                    [codmaj] => 0
                    [design] => BANDEIRA ECOFIX 120 GR. M2 100X150 CM
                    [code] => 0
                    [supprim] => 0
                    [finition] =>
                    [valid] =>
                    [largeur] => 0
                    [hauteur] => 0
                    [refcom] => 96300
                    [numadev2] =>
                )
        )
)

Par contre lorsque j’augmente le nombre d’enregistrement retournés à 30 lignes entête et 30 lignes détails (soit au total 60 lignes), j’ai autre chose qui s’affiche en ligne de commande. Voir ci-dessous

array(13) {
    ["pos"]=>
    int(258)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(21) "MUNIC═PIO DE GRÈNDOLA"
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(256)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(5) "value"
    ["attrs"]=>
    array(1) {
      ["xsi:type"]=>
      string(10) "xsd:string"
    }
    ["type"]=>
    string(6) "string"
    ["typePrefix"]=>
    string(3) "xsd"
    ["type_namespace"]=>
    string(32) "http://www.w3.org/2001/XMLSchema"
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["result"]=>
    &string(21) "MUNIC═PIO DE GRÈNDOLA"
  }
  [259]=>
  array(11) {
    ["pos"]=>
    int(259)
    ["children"]=>
    string(8) "|260|261"
    ["cdata"]=>
    string(0) ""
    ["depth"]=>
    int(6)
    ["parent"]=>
    int(228)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(4) "item"
    ["attrs"]=>
    array(0) {
    }
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["type"]=>
    string(0) ""
    ["result"]=>
    array(2) {
      ["key"]=>
      &string(3) "rue"
      ["value"]=>
      &string(29) "RUA DR. JOS╔ PEREIRA BARRADAS"
    }
  }
  [260]=>
  array(13) {
    ["pos"]=>
    int(260)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(3) "rue"
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(259)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(3) "key"
    ["attrs"]=>
    array(1) {
      ["xsi:type"]=>
      string(10) "xsd:string"
    }
    ["type"]=>
    string(6) "string"
    ["typePrefix"]=>
    string(3) "xsd"
    ["type_namespace"]=>
    string(32) "http://www.w3.org/2001/XMLSchema"
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["result"]=>
    &string(3) "rue"
  }
  [261]=>
  array(13) {
    ["pos"]=>
    int(261)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(29) "RUA DR. JOS╔ PEREIRA BARRADAS"
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(259)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(5) "value"
    ["attrs"]=>
    array(1) {
      ["xsi:type"]=>
      string(10) "xsd:string"
    }
    ["type"]=>
    string(6) "string"
    ["typePrefix"]=>
    string(3) "xsd"
    ["type_namespace"]=>
    string(32) "http://www.w3.org/2001/XMLSchema"
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["result"]=>
    &string(29) "RUA DR. JOS╔ PEREIRA BARRADAS"
  }
  [262]=>
  array(11) {
    ["pos"]=>
    int(262)
    ["children"]=>
    string(8) "|263|264"
    ["cdata"]=>
    string(0) ""
    ["depth"]=>
    int(6)
    ["parent"]=>
    int(228)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(4) "item"
    ["attrs"]=>
    array(0) {
    }
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["type"]=>
    string(0) ""
    ["result"]=>
    array(2) {
      ["key"]=>
      &string(7) "commune"
      ["value"]=>
      &NULL
    }
  }
  [263]=>
  array(13) {
    ["pos"]=>
    int(263)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(7) "commune"
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(262)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(3) "key"
    ["attrs"]=>
    array(1) {
      ["xsi:type"]=>
      string(10) "xsd:string"
    }
    ["type"]=>
    string(6) "string"
    ["typePrefix"]=>
    string(3) "xsd"
    ["type_namespace"]=>
    string(32) "http://www.w3.org/2001/XMLSchema"
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["result"]=>
    &string(7) "commune"
  }
  [264]=>
  array(12) {
    ["pos"]=>
    int(264)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(0) ""
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(262)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(5) "value"
    ["attrs"]=>
    array(1) {
      ["xsi:nil"]=>
      string(4) "true"
    }
    ["nil"]=>
    bool(true)
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["xattrs"]=>
    array(1) {
      ["!"]=>
      NULL
    }
    ["result"]=>
    &NULL
  }
  [265]=>
  array(11) {
    ["pos"]=>
    int(265)
    ["children"]=>
    string(8) "|266|267"
    ["cdata"]=>
    string(0) ""
    ["depth"]=>
    int(6)
    ["parent"]=>
    int(228)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(4) "item"
    ["attrs"]=>
    array(0) {
    }
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["type"]=>
    string(0) ""
    ["result"]=>
    array(2) {
      ["key"]=>
      &string(4) "cnom"
      ["value"]=>
      &NULL
    }
  }
  [266]=>
  array(13) {
    ["pos"]=>
    int(266)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(4) "cnom"
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(265)
    ["status"]=>
    string(6) "method"
    ["name"]=>
    string(3) "key"
    ["attrs"]=>
    array(1) {
      ["xsi:type"]=>
      string(10) "xsd:string"
    }
    ["type"]=>
    string(6) "string"
    ["typePrefix"]=>
    string(3) "xsd"
    ["type_namespace"]=>
    string(32) "http://www.w3.org/2001/XMLSchema"
    ["namespace"]=>
    string(28) "http://ws45.ultralog.ica:81/"
    ["result"]=>
    &string(4) "cnom"
  }
  [267]=>
  array(12) {
    ["pos"]=>
    int(267)
    ["children"]=>
    string(0) ""
    ["cdata"]=>
    string(0) ""
    ["depth"]=>
    int(7)
    ["parent"]=>
    int(265)
    ["status"]=>
    string(6) "method"
    ["name"]

__Je ne comprends pas pourquoi l’affichage est différent lorsque le nombre d’enregistrements retournés est plus de 50 lignes et les données attendues ne sont pas retournées. Quelqu’un a-t-il une idée de la source d’erreurs.__

Toute piste de solution serait la bienvenue

  [Opened] web service jelix 1.3 ; Problème d’extraction des données d’une application lorsque le nombre d’enregistrements dépasse un certain seuil.

Reply #1 Posted by laurentj on 03/07/2012 11:06

Bonjour,

  1. vérifie que nusoap n'est pas en erreur. quand nusoap te retourne un résultat (je ne sais pas comment il fonctionne), vérifies-tu par exemple que ce n'est pas une erreur ? Parce que là, ton resultat contient des trucs comme des attributs xml-schema ou autre, ça ne sent pas bon. On dirait plutôt que ton résultat est une sorte de dump de contenu XML, plutôt que des vrais résultats renvoyés par le serveur.
  2. vérifie aussi les logs dans ton appli jelix (vérifie que les logs sont activés pour tout les types d'erreurs), peut être qu'il y a eu une erreur de ton appli
  3. demande toi aussi si ce n'est pas un problème de mémoire. Il est possible que ton memory_limit de ton php.ini soit trop faible pour ce que tu veux faire. Et du coup la réponse soap n'est pas complète ou invalide, et nusoap te renvoi un dump de ce qu'il a pu récupérer.

  [Opened] web service jelix 1.3 ; Problème d’extraction des données d’une application lorsque le nombre d’enregistrements dépasse un certain seuil.

Reply #2 Posted by mlmic on 03/09/2012 14:47

Bonjour Laurent!

Merci pour les différentes pistes d'erreurs. Je vais vérifier les points 1 et 3 et vous rendre compte.

comment vérifier dans Jelix que tous les logs sont activer ?

Comment les activer s'ils ne le sont pas ?

Bonne journée!

  [Opened] web service jelix 1.3 ; Problème d’extraction des données d’une application lorsque le nombre d’enregistrements dépasse un certain seuil.

Reply #3 Posted by foxmask on 03/09/2012 15:35

bonjour tout est là notamment la belle debug bar ;)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] web service jelix 1.3 ; Problème d’extraction des données d’une application lorsque le nombre d’enregistrements dépasse un certain seuil.

Reply #4 Posted by mlmic on 05/23/2012 10:48

Bonjour!

le bug se trouvait au niveau du client nusoap qui n'arrivait pas à parser les données. j'ai mis nusoap de côté et j'ai utilisé le SoapClient de php et le souci est réglé.

 
Page
  1. web service jelix 1.3 ; Problème d’extraction des données d’une application lorsque le nombre d’enregistrements dépasse un certain seuil.