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 :

Utilisation de HTTP_RAW_POST_DATA


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut Utilisation de HTTP_RAW_POST_DATA
    Bonjour,

    Je tente depuis 2 jours de faire tourner un bête script de web service, mais je suis confronté à un pb vraiment bizzare.
    (note: mon script tourne sous PHP 5.2.2 et Apache 2.0.59 )

    Voici mon code:

    "service.php"
    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
     
    <?php 
     
      class HelloService { 
      function hello($name) { 
     
        return "Hello ".$name." !"; 
        } 
      } 
     
      $server = new SoapServer(null, array('uri' => 'http://localhost/service/service.php', 
                                            'location' => 'http://localhost/service/service.php')); 
      $server->setClass("HelloService"); 
     
      $server->handle(); 
    ?>
    "client.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $client = new SoapClient
          (
          null, 
          array
                (
                'uri' => 'http://localhost/service/service.php',
                'location' => 'http://localhost/service/service.php', 
                'trace' => 1,
    	          'exceptions' => 0)); 
     
    print($client->hello("dietrich"));
    ?>
    lorsque je lance la page client.php j'obtiens l'erreur suivante:
    SoapFault exception: [SOAP-ENV:Server] Bad Request. Can't find HTTP_RAW_POST_DATA in D:\myweb\client\client.php:11 Stack trace: #0 [internal function]: SoapClient->__call('hello', Array) #1 D:\myweb\client\client.php(11): SoapClient->hello('dietrich') #2 {main}
    En gros il trouve pas la variable HTTP_RAW_POST_DATA.

    Maintenant, si dans service.php je met cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $HTTP_RAW_POST_DATA = file_get_contents('php://input');
    juste avant le handle....ça marche.
    J'obtiens bien 'Hello dietrich' dans IE.
    Toutefois ce n'est pas normal de devoir ajouter cette ligne pour que mon code fonctionne.

    Alors, evidement j'ai activé 'always_populate_raw_post_data = On' dans le fichier php.ini, mais rien n'y fait, ça ne fonctionne toujours pas.

    Est ce que quelqu'un aurait une idée de la nature de ce pb ?

  2. #2
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Ca y est ....j'ai enfin trouvé d'où vient ce pb !!!!
    En fait c'est tout connement un bug dans PHP 5.2.2.... et oui
    Le rapport sur ce bug peut être consulté sur php.net:

    http://bugs.php.net/bug.php?id=41293&edit=1


    Heureusement ce bug a été corrigé. Il suffit de télécharger la dernière version build de PHP 5 ici:
    http://snaps.php.net/

    puis de l'installer à la place de l'ancienne, et tout remarche comme par miracle

  3. #3
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Content que tu aies résolu ton probleme. Mais soit dit en passant j'ai php 5.2.2 et moi ca fonctionnait!

    Enfin le probleme est résolu c'est le principal, penses au tag!

  4. #4
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Mais soit dit en passant j'ai php 5.2.2 et moi ca fonctionnait!
    Oui, c'est curieux!
    Peut être que les versions en téléchargement sur php.net diffèrent en fonction des builds même si officielement c'est toujours php 5.2.2
    Mais bon, ça marche c'est l'essentiel

  5. #5
    Invité
    Invité(e)
    Par défaut
    Corrigé dans PHP 5.2.3
    Reporté ici

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

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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