J'ai regardé sur google, ils proposent de faire ca
pour récupérer les données au lieu de $HTTP_RAW_POST_DATACode:$data = file_get_contents('php://input');
tu peux essayer pour voir si ca change qqch?
Version imprimable
J'ai regardé sur google, ils proposent de faire ca
pour récupérer les données au lieu de $HTTP_RAW_POST_DATACode:$data = file_get_contents('php://input');
tu peux essayer pour voir si ca change qqch?
J'ai modifié le php.ini qui se trouve dans c:\windows, par contre je n'ai trouvé aucun php.ini dans les répertoire d'Apache.Citation:
Mais as-tu modifié le bon php.ini ? celui dans Apache2/bin, parce qu'il y en a plusieurs sur la machine en général et un seul est valide
Où dois-je placer
?Code:
1
2 $data = file_get_contents('php://input');
Tu as installé apache et php séparément ou tu utilises Wamp ou Easy php?
Mets ca dans ton service.php
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php class HelloService { function hello($name) { return "Hello $name !"; } } $server = new SoapServer(null, array('uri' => 'http://localhost/service/service.php')); $HTTP_RAW_POST_DATA = file_get_contents('php://input'); $server->handle(); ?>
ça maaaaarche!!!!! :yaisse2:
Quelle est cette ligne de code magique ?
Code:
1
2 $HTTP_RAW_POST_DATA = file_get_contents('php://input');
ouiCitation:
Tu as installé apache et php séparément
Pourquoi chez moi ça ne marche pas normalement comme sur ton ordi par ex ?
Est ce que ça vient de l'installation de php et d'apache ?
En fait, j'avais lu ca a l'époque ou j'ai commencé a m'arracher les cheveux sur les webservices, WSDL etc.
Il semble que dans certains cas la variable $HTTP_RAW_POST_DATA ne soit pas correctement remplie. La ligne que je t'ai fait rajouter permet de forcer la lecture des données et les met manuellement dans la variable.
Ca n'est pas super propre mais au moins ca fonctionne..
Je n'ai pas encore réussi a trouver pourquoi tu as ce probleme par contre.
As-tu recherché sur ton ton disque les php.ini pour voir si tu n'en as pas d'autres que celui de windows?
Peut etre qu'il serait bien de résoudre ce sujet et d'en créer un autre car l'erreur n'est plus vraiment liée à PHP et SOAP là.
Oui, mais je n'ai bien qu'un seul php.ini (celui dans windows).Citation:
As-tu recherché sur ton ton disque les php.ini pour voir si tu n'en as pas d'autres que celui de windows?
Bon, il va falloir maintenant que je résolve ce pb de variable $HTTP_RAW_POST_DATA, c'est vraiment bizzare.
En tout cas un grand merci à toi pour m'avoir aidé dans mes (difficiles :aie: ) début en PHP 5 ;)
Content d'avoir réussi a t'aider en tout cas. Et accroche toi c'est vraiment pratique et puissant les webservices quand on a compris comment ca fonctionne.
Merci ;)
http://www.jeuxvideo.com/smileys/44.gif
Je suis sur Php5 depuis peu, et on m'avait conseillé de passer via un WSDL (grrr, quel chiasse ce truc), j'en enfin un code retour de Mon WebService ancinnement en NuSOAP ... je remonte ce sujet, c'est vraiement la bonne Solution ...
:merci:
PS : D'habitude je fais du Delphi, et encore une fois c'est Developpez.net qui apporte la solution ...
Alors toi t'es un bon : Merci ! :yaisse2:
Mon addClass() n'existait pas -Merci la documentation Oracle-, je l'ai changé en setClass() : mon serveur a fonctionné et hop plus d'erreur dans le client.
Bonjour à tous!
Je sais que le topic date un peu... mais j'ai rencontré un problème similaire concernant la mise en place de mon WebService.
J'ai aussi une erreur du même type :[B]"Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in C:\wamp\www\WebService\soap-client.php:6 Stack trace: #0 [internal function]: SoapClient->__call('getScript_extra...', Array) #1 C:\wamp\www\WebService\soap-client.php(6): SoapClient->getScript_extraction('jyg') #2 {main} thrown in C:\wamp\www\WebService\soap-client.php on line 6"[B]
J'ai alors suivi vos réponses, et j'ai donc ajouté le code pour réaliser un fichier aaa.txt, pour voir d'ou venait l'erreur.
Dans mon fichier .txt, il y a noté :"Request :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:localhost-extracteur" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body><ns1:getScript_extraction>
<TypeFichier xsi:type="xsd:int">0</TypeFichier><Civilite xsi:nil="true"/><Formations xsi:nil="true"/><Experiences xsi:nil="true"/></ns1:getScript_extraction></SOAP-ENV:Body></SOAP-ENV:Envelope>
Request :
<br />
<b>Notice</b>: Undefined variable: HTTP_RAW_POST_DATA in <b>C:\wamp\www\WebService\soap-server.php</b> on line <b>11</b><br />"
L'un d'entre vous aurait-il une idée quant à une éventuelle solution?
Merci d'avance!