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

Langage PHP Discussion :

Parse error, oui mais ou!?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut fsockopen et xml
    Bonjour à tous,

    j'ai juste besoin d'un petit coup de main de detection de panne!!!
    Be vi, je ne vois pas ou est l'erreur!? Je précise que c'est un code fournit par mon grossiste (qui n'a aucun suivi par ailleurs )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {
    $error_s = $item->getElementsByTagName( "Errorstatus" ); $tderror = $error_s->item(0)->nodeValue;
    $stock_s = $item->getElementsByTagName( "AvailabilityTotal" ); $tdstock = $stock_s->item(0)->nodeValue;
    // Reformatting the price to ISO compatible format
    $price_s = $item->getElementsByTagName( "UnitPriceAmount" ); $tdprice = str_replace('.','',$price_s->item(0)->nodeValue);
    $tdprice=str_replace(',','.',$tdprice);
    }
    j'ai un parse error à la première ligne( la 53° en fait), mais je ne vois pas du tout ou!!??

    merci pour l'aide

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    tu es sur que c'est dans cette portion de code ? parce que rien ne semble incorrect .

  3. #3
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    $tderror = $error_s->item(0)->nodeValue;

    Si item est une fonction prenant en paramètre l'index de l'objet, je ne suis pas sûr que tu puisses lui préfixer directement la propriété nodeValue. (contrairement en .net par exemple)

    $item = $error_s->item(0);
    $tderror = $item->nodeValue

    Sinon peut-être confond tu avec un tableau d'objets, dans ce cas :
    $tderror = $error_s->item[0]->nodeValue

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Merci de votre aide... Comme je vous l'ai dit, je ne suis pas l'auteur de ce code... C'est mon grossiste qui me fournit ce code afin de faire une mise à jour des infos produits directement via son site...
    il me fournit ce code + mon code client + un code d'accés...
    Logiquement, je dois insérer ces deux derniers dans ce code, et en fonction du produits passé en varibale, cela devrait fonctionner... voici le code complet...
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?php
    // First we need to feed the techdata SKU, for now we use 1088963 as an example
    $td_sku="1088963";
    //Following the XML data
    $xmldata="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r
    <OnlineCheck>\r
    <Header>\r
    <BuyerAccountId>Mon code client</BuyerAccountId>\r
    <AuthCode>Mon code d'accés</AuthCode>\r
    <Type>Full</Type>\r
    </Header>\r
    <Item line=\"1\">\r
    <ManufacturerItemIdentifier/>\r
    <ResellerItemIdentifier/>\r
    <DistributorItemIdentifier>$td_sku</DistributorItemIdentifier>\r
    <Quantity>1</Quantity>\r
    </Item>\r
    </OnlineCheck>";
    $fp = fsockopen("intcom.xml.techdata-europe.com", 8080, $errno, $errstr, 15);
    //Generate the postdata on a valid way, $out4 needs to be calculated, so will be later.
    $out1 = "POST /Onlchk HTTP/1.0\r
    ";
    $out2 = "Content-Type: multipart/form-data; boundary=---------------------------2\r
    ";
    $out3 = "Host: intcom.xml.techdata-europe.com:8080\r
    ";
    $out5 = "Connection: close\r
    \r
    ";
    $out6 = "-----------------------------2\r
    ";
    $out7 = "Content-Disposition: form-data; name=\"onlinecheck\"\r
    \r
    ";
    $out8 = "\r
    -----------------------------2--";
    //Calculation of the Content-Length:
    $tlen=strlen($out6)+strlen($out7)+strlen($xmldata)+strlen($out8);
    $out4 = "Content-Length: $tlen\r
    ";
    //Generate full output
    $out = $out1.$out2.$out3.$out4.$out5.$out6.$out7.$xmldata.$out8;
    fwrite($fp, $out);
    $retval = "";
    while(!feof($fp)){$retval = "$retval".fgets($fp,128);}
    fclose($fp);
    list($headers,$body) = explode("<?xml version=\"1.0\" encoding=\"UTF-8\"?>",$retval);
    $doc = new DOMDocument();
    $doc ->LoadXML($body);
    $item_ids = $doc->getElementsByTagname( "OnlineCheck" );
    foreach( $item_ids as $item )
    {
    $error_s = $item->getElementsByTagName( "Errorstatus" ); $tderror = $error_s->item(0)->nodeValue;
    $stock_s = $item->getElementsByTagName( "AvailabilityTotal" ); $tdstock = $stock_s->item(0)->nodeValue;
    // Reformatting the price to ISO compatible format
    $price_s = $item->getElementsByTagName( "UnitPriceAmount" ); $tdprice = str_replace('.','',$price_s->item(0)->nodeValue);
    $tdprice=str_replace(',','.',$tdprice);
    }
    //Rest of handling off the data under here
    ?>

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 319
    Points
    319
    Par défaut
    Juste avant ton FOREACH a la fin :

    $doc ->LoadXML($body);
    $item_ids = $doc->getElementsByTagname( "OnlineCheck" );
    foreach( $item_ids as $item )
    Tu as un espace entre $doc et la fleche ->.
    En dessous il manque le N majuscule a name. Essaye :o
    Et peut etre ajouté un espace entre FOREACH et la 1ere parenthèse (pas sur que sa joue).

    Et je te conseil ceci pour initialiser ton DOMDocument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $doc = new DOMDocument('1.0', 'ISO-8859-1'); //Ou autre caractere d'encodage

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 906
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 906
    Points : 14 828
    Points
    14 828
    Par défaut
    ne semble pas faire référence à une fonction mais au premier élément du tableau item. Remplace juste les parenthèses par des crochets.

    Citation Envoyé par meliandah Voir le message
    Tu as un espace entre $doc et la fleche ->.
    En dessous il manque le N majuscule a name. Essaye :o
    Mettre un espace ou non, ne change rien, tout comme les espaces avant et/ou après un =.
    Les noms de fonctions ne sont pas sensibles à la casse, contrairement aux noms de variables.

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 319
    Points
    319
    Par défaut
    Oki, sinon la fonction getElementsByTagNames retourne un DOMNodeList, donc les crochets ne devraient rien changés... la syntaxe est bonne la. Mais met voir le code d'erreur complet stp, car il indique autre chose après Parse Error normalement.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Merci à tous...

    le code d'erreur est celui ci:

    Parse error: parse error in d:\easyphp1-8\www\MonFIchier.php on line 53

  9. #9
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    ok et qui y a-t-il à la ligne 53 ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    et bien, la ligne 53 est celle ci (je l'ai surlignée en rouge):
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
    // First we need to feed the techdata SKU, for now we use 1088963 as an example
    $td_sku="1088963";
    //Following the XML data
    $xmldata="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r
    <OnlineCheck>\r
    <Header>\r
    <BuyerAccountId>Mon code client</BuyerAccountId>\r
    <AuthCode>Mon code d'accés</AuthCode>\r
    <Type>Full</Type>\r
    </Header>\r
    <Item line=\"1\">\r
    <ManufacturerItemIdentifier/>\r
    <ResellerItemIdentifier/>\r
    <DistributorItemIdentifier>$td_sku</DistributorItemIdentifier>\r
    <Quantity>1</Quantity>\r
    </Item>\r
    </OnlineCheck>";
    $fp = fsockopen("intcom.xml.techdata-europe.com", 8080, $errno, $errstr, 15);
    //Generate the postdata on a valid way, $out4 needs to be calculated, so will be later.
    $out1 = "POST /Onlchk HTTP/1.0\r
    ";
    $out2 = "Content-Type: multipart/form-data; boundary=---------------------------2\r
    ";
    $out3 = "Host: intcom.xml.techdata-europe.com:8080\r
    ";
    $out5 = "Connection: close\r
    \r
    ";
    $out6 = "-----------------------------2\r
    ";
    $out7 = "Content-Disposition: form-data; name=\"onlinecheck\"\r
    \r
    ";
    $out8 = "\r
    -----------------------------2--";
    //Calculation of the Content-Length:
    $tlen=strlen($out6)+strlen($out7)+strlen($xmldata)+strlen($out8);
    $out4 = "Content-Length: $tlen\r
    ";
    //Generate full output
    $out = $out1.$out2.$out3.$out4.$out5.$out6.$out7.$xmldata.$out8;
    fwrite($fp, $out);
    $retval = "";
    while(!feof($fp)){$retval = "$retval".fgets($fp,128);}
    fclose($fp);
    list($headers,$body) = explode("<?xml version=\"1.0\" encoding=\"UTF-8\"?>",$retval);
    $doc = new DOMDocument();
    $doc ->LoadXML($body);
    $item_ids = $doc->getElementsByTagname( "OnlineCheck" );
    foreach( $item_ids as $item )
    {
    $error_s = $item->getElementsByTagName( "Errorstatus" ); $tderror = $error_s->item(0)->nodeValue;
    $stock_s = $item->getElementsByTagName( "AvailabilityTotal" ); $tdstock = $stock_s->item(0)->nodeValue;
    // Reformatting the price to ISO compatible format
    $price_s = $item->getElementsByTagName( "UnitPriceAmount" ); $tdprice = str_replace('.','',$price_s->item(0)->nodeValue);
    $tdprice=str_replace(',','.',$tdprice);
    }
    //Rest of handling off the data under here
    ?>
    Je ne vois vraiment pas ou est l'erreur!?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    bon, a force d'insister, je viens de recevoir ce nouveau bout de code du sav de mon fournisseur!!! apparement, ils auraient eu beaucoup de soucis avec l'ancien, et aurait modifié celui la!
    J'ai encore malgré tout un problème, mais différent maintenant. voici le code
    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
     
    <?php
    $td_sku="1088963";
     
    $xmldata='<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r
    <OnlineCheck>\r
    <Header>\r
    	<BuyerAccountId>Mon code client</BuyerAccountId>\r
    	<AuthCode>mon code d'accés</AuthCode>\r
    	<Type>Full</Type>\r
    </Header>\r
    <Item line=\"1\">\r
    <ManufacturerItemIdentifier/>\r
    <ResellerItemIdentifier/>\r
    <DistributorItemIdentifier>$td_sku</DistributorItemIdentifier>\r
    <Quantity>1</Quantity>\r
    </Item>\r
    </OnlineCheck>';
     
     
    $fp = fsockopen("intcom.xml.techdata-europe.com", 8080, $errno, $errstr, 15);
    //Generate the postdata on a valid way, $out4 needs to be calculated, so will be later.
    $out1 = "POST /Onlchk HTTP/1.0\r";
    $out2 = "Content-Type: multipart/form-data;
    boundary=---------------------------2\r";
    $out3 = "Host: intcom.xml.techdata-europe.com:8080\r";
    $out5 = "Connection: close\r\r";
    $out6 = "-----------------------------2\r";
    $out7 = "Content-Disposition: form-data; name=\"onlinecheck\"\r\r";
    $out8 = "\r-----------------------------2--";
    //Calculation of the Content-Length:
    $tlen=strlen($out6)+strlen($out7)+strlen($xmldata)+strlen($out8);
    $out4 = "Content-Length: $tlen\r";
    //Generate full output
    $out = $out1.$out2.$out3.$out4.$out5.$out6.$out7.$xmldata.$out8;
    fwrite($fp, $out);
    $retval = "";
    while(!feof($fp)){$retval = "$retval".fgets($fp,128);}
    fclose($fp);
     
    print $retval;
    ?>
    le message d'erreur est le suivant:

    HTTP/1.1 400 Bad Request Date: Fri, 03 Oct 2008 11:42:56 GMT Server: Apache Content-Length: 313 Connection: close Content-Type: text/html; charset=iso-8859-1
    Bad Request
    Your browser sent a request that this server could not understand.
    Request header field is missing ':' separator.


    <OnlineCheck>\r

    Apparement, il me manquerait un ':' quelque part, dans le header, mais cela semble incohérent! tout a l'air d'être bien mis! je ne vois plus...

  12. #12
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 906
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 906
    Points : 14 828
    Points
    14 828
    Par défaut
    Personnellement je vois déjà un oubli d'échappement d'une apostrophe à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <AuthCode>mon code d'accés</AuthCode>\r
    (merci la coloration syntaxique)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    heu, oui, autant pour moi... j'ai simplement remplacé mon véritable code d'accés par 'mon code d'accés' je modifie:
    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
     
    $td_sku="1088963";
     
    $xmldata='<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r
    <OnlineCheck>\r
    <Header>\r
    	<BuyerAccountId>12345</BuyerAccountId>\r
    	<AuthCode>939399393</AuthCode>\r
    	<Type>Full</Type>\r
    </Header>\r
    <Item line=\"1\">\r
    <ManufacturerItemIdentifier/>\r
    <ResellerItemIdentifier/>\r
    <DistributorItemIdentifier>$td_sku</DistributorItemIdentifier>\r
    <Quantity>1</Quantity>\r
    </Item>\r
    </OnlineCheck>';
     
     
    $fp = fsockopen("intcom.xml.techdata-europe.com", 8080, $errno, $errstr, 15);
    //Generate the postdata on a valid way, $out4 needs to be calculated, so will be later.
    $out1 = "POST /Onlchk HTTP/1.0\r";
    $out2 = "Content-Type: multipart/form-data;
    boundary=---------------------------2\r";
    $out3 = "Host: intcom.xml.techdata-europe.com:8080\r";
    $out5 = "Connection: close\r\r";
    $out6 = "-----------------------------2\r";
    $out7 = "Content-Disposition: form-data; name=\"onlinecheck\"\r\r";
    $out8 = "\r-----------------------------2--";
    //Calculation of the Content-Length:
    $tlen=strlen($out6)+strlen($out7)+strlen($xmldata)+strlen($out8);
    $out4 = "Content-Length: $tlen\r";
    //Generate full output
    $out = $out1.$out2.$out3.$out4.$out5.$out6.$out7.$xmldata.$out8;
    fwrite($fp, $out);
    $retval = "";
    while(!feof($fp)){$retval = "$retval".fgets($fp,128);}
    fclose($fp);
     
    print $retval;
    J'ai essayé autant en local que sur mon hebergement, rien à faire... toujours le meme message, ou il me manquerait :

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Je cherche toujours, et j'ai pensé changer complètement le code du fournisseur... Alors, j'ai cherché pour voir si d'autres possibilités existaient...
    J'ai trouvé ceci sur le net:
    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
     
     
    <?php
     
    function sendPost($host,$path,$data)
    {
    $method = 'POST';
    $fp = fsockopen($host, 80);
    fputs($fp, "$method $path HTTP/1.1\r\n");
    fputs($fp, "Host: $host\r\n");
    fputs($fp,"Content-type: application/x-www-form- urlencoded\r\n");
    fputs($fp, "Content-length: " . strlen($data) . "\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    while (!feof($fp)) {
    $sent .= fgets($fp,128);
    }
    fclose($fp);
    return $sent;
    }
     
     
    /*
    usage:
    
    $stringa = "<your_xml/>"
    $sent = sendPost("thehost.com","/path/to/file.php", $stringa);
    
    */
     
    ?>
    Alors, je l'ai modifié pour moi, et évidement, encore une erreur:
    "Fatal error: Maximum execution time of 30 seconds exceeded in d:\easyphp1-8\www\webonly\test.php on line 22"

    voici mon code modifié:
    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
    44
    45
     
    <?php
    function sendPost($host,$path,$data)
    {
    $method = 'POST';
    $fp = fsockopen($host, 8080);
    fputs($fp, "$method $path HTTP/1.1\r\n");
    fputs($fp, "Host: $host\r\n");
    fputs($fp,"Content-type: multipart/form-data\r\n");
    fputs($fp, "Content-length: " . strlen($data) . "\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    while (!feof($fp)) {
    $sent .= fgets($fp,128);
    }
    fclose($fp);
    return $sent;
    }
     
     
    $stringa = "<?xml version='1.0' encoding='UTF-8'?>
    <OnlineCheck>
      <Header>
        <BuyerAccountId>54709</BuyerAccountId>
        <AuthCode>98989898</AuthCode>
      </Header>
      <Item line='1'>
        <ManufacturerItemIdentifier/>
        <ResellerItemIdentifier/>
        <DistributorItemIdentifier>3131</DistributorItemIdentifier>
        <Quantity>2</Quantity>
      </Item>
      <Item line='2'>
        <ManufacturerItemIdentifier/>
        <ResellerItemIdentifier/>
        <DistributorItemIdentifier>3311</DistributorItemIdentifier>
        <Quantity>3</Quantity>
      </Item>
     
    </OnlineCheck>";
     
     
    sendPost("intcom.xml.techdata-europe.com","/Onlchk",$stringa);
     
     
    ?>
    Je précise que l'xml est fonctionnel, en l'envoyant bêtement a partir d'un formulaire, j'ai ma réponse... Pour mon travail, je ne peux pas utiliser de formulaire... Ou peut donc bien se situer mon erreur!?

  15. #15
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Environ 15 sec de recherche Google :

    set_time_limit(0); en début de ton script pour éviter la limite de tps d'execution.

    Un peu d'anglais est tjrs bénéfique, le script ne te dit pas que tu as fait une erreur, mais juste que le temps imparti à l'execution du script est atteint et qu'ainsi le script ne s'execute pas complètement.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    merci pour ta réponse... J'avais compris
    Le truc, c'est que cette requête n'a pas à prendre autant de temps...
    Si j'utilise un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FORM action=http://intcom.xml.techdata-europe.com:8080/Onlchk method=get 
    encType=multipart/form-data><TEXTAREA id=TextAreaXML name=xmlmsg rows=20 cols=100></TEXTAREA><BUTTON 
    type=submit>Send</BUTTON> </FORM>
    et que j'y insère mon xml:
    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
     
    <?xml version=\"1.0\" encoding=\"UTF-8\"?>\r
    <OnlineCheck>\r
    <Header>\r
    	<BuyerAccountId>56789</BuyerAccountId>\r
    	<AuthCode>90909090</AuthCode>\r
    	<Type>Full</Type>\r
    </Header>\r
    <Item line=\"1\">\r
    <ManufacturerItemIdentifier/>\r
    <ResellerItemIdentifier/>\r
    <DistributorItemIdentifier>$td_sku</DistributorItemIdentifier>\r
    <Quantity>1</Quantity>\r
    </Item>\r
    </OnlineCheck>
    j'ai ma réponse en 5' (et encore, avec mon modem 3G, et dans ma région, cela équivaut à du 56K)

    J'imagine donc que si la requête prend autant de temps, c'est qu'il y à un soucis dans mon code...
    C'est la première fois que j'essaie d'envoyer des variables xml via post...

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/07/2012, 01h26
  2. Réponses: 8
    Dernier message: 20/09/2007, 18h31
  3. error syntax oui mais ou?
    Par syspeo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/02/2007, 17h34
  4. HomeDB, oui mais comment ?
    Par Gregouz dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/10/2004, 16h27
  5. [APPLET-SERVLET] download oui mais upload non ...
    Par meufeu dans le forum Applets
    Réponses: 7
    Dernier message: 09/08/2004, 15h36

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