Bonjour,
je viens vers vous car j'ai un problème avec une requête soap simple sous PHP. En fait, j'essaie d'envoyer une requête SOAP depuis PHP vers un web service sous java voilà, le code PHP de la requête.
Le problème est que le paramètre "name" est toujours passé à la fonction distante comme "null"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php $client = new SoapClient("http://localhost:9090/helloworld?wsdl",array("trace" => 1, "exceptions" => 0)); $response = $client->sayHello('name'); print_r($response->return); print "<pre>\n"; print "Request :\n".htmlspecialchars($client->__getLastRequest()) ."\n"; print "Response:\n".htmlspecialchars($client->__getLastResponse())."\n"; print "</pre>"; ?>
voilà la requête soap que le php génère :
je vous ajoute le code de la methode java distante (très simple) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://helloworld/"> <SOAP-ENV:Body> <ns1:sayHello/> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
J'ai testé mon serveur avec l'outil soapUI est tout s'est bien passé je ne comprends pas pourquoi ça ne marche avec PHP ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public String sayHello(String name) { System.out.println( "hello " + name); return "Hello " + name + "!"; }
Si y a quelqu'un qui peux m'aider à résoudre ce problème ça serai très cool, car vraiment je suis bloqué, il me reste beaucoup de travail à faire et là je ne suis qu'à l'étape d'initiation pour comprendre comment les web services fonctionnent.
Partager