Bonjour tout le monde,
Je veux écrire un code php qui appelle un webservice dont j'ai l'url wsdl, j'ai cherché sur internet des exemples pour tester et j'ai trouvé ce lien qui offre une liste d'url de webservices de test http://www.actionscript.org/forums/s...d.php3?t=70742 , j'ai choisi un exemple http://www.webservicex.net/length.asmx?WSDL qui fait la conversion de distances en donnant une unité source de conversion, une unité cible et une valeur, et j'ai écrit le code suivant en lisant la spécification du webservice ici http://www.webservicex.net/length.as...angeLengthUnit:
Voici mon code :
Normalement si tout va bien, je devrais avoir 1,6 comme résultat,( 1 Mile = 1,6 Km ) mais quand je lance ma page php, j'obtient 0 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php $wsdl = "http://www.webservicex.net/length.asmx?WSDL"; $cliente = new SoapClient($wsdl); $LengthValue=1; $fromLengthUnit='Miles'; $toLengthUnit='Kilometers'; $vem = $cliente->__soapCall('ChangeLengthUnit',array('LengthValue' => $LengthValue , 'fromLengthUnit' => $fromLengthUnit,'toLengthUnit' => $toLengthUnit )); print $vem->ChangeLengthUnitResult; ?>
En regardant le code source de la page http://www.webservicex.net/length.as...angeLengthUnit , on peut voir que l'appel du webservice en cliquant sur Invoke ne passe pas par l'url en wsdl que moi j'utilise.. et là je me perds vraiment ..
Aussi, je trouve pas un exemple simple pour appeler le webservice google search..
j'ai essayé ce code :
Remarque: l'url http://api.google.com/search/beta2 donne une erreur 404 ( le code est ancien ), donc c'est normal que le 2ème code en marche pas..mais je trouve pas la nouvelle url que google a mis à disposition pour faire la recherche
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 <?php $Query = "Hello World"; $key = "ABQIAAAAuq8WwJqLli1jzpsjK2nlTRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQRjALX1F-oSyIUc9c7R2CIMBbqzA"; $start = 0; $parameters = array( "key" => $key, "q" => $Query, "start" => $start, "maxResults" => 10, "filter" => true, "restrict" => "", "safeSearch" => false, "lr" => "lang_en", "ie" => "", "oe" => "" ); $soapclient = new soapclient("http://api.google.com/search/beta2"); $result = $soapclient->call("doGoogleSearch", $parameters, "urn:GoogleSearch"); $searchtime = $result["searchTime"]; $begin = $start + 1; $end = $start + $parameters["maxResults"]; $total = $result["estimatedTotalResultsCount"]; if ($total > 0) { $result = $result["resultElements"]; for ($i = 0; $i < $parameters["maxResults"]; $i++) { $element = $result[$i]; $url = $element["URL"]; $title = $element["title"]; $snippet = $element["snippet"]; ?><p><?= $snippet ?></p><? } } ?>
Alors, si quelqu'un pourrait me guider pour faire tourner un exemple simple, je serais reconnaissant! merci d'avance pour votre aide !
Partager