OVH Community, votre nouvel espace communautaire.

Méthode telephonyCallList de SoAPI


Aiko
05/11/2013, 12h08
Bonjour chère Communauté et Team d'OVH !

Après recherches, je me décide de vous exposer mon problème concernant cette méthode : je souhaiterai simplement ( dans un premier temps en fait ) y afficher son résultat en PHP.

Veuillez me pardonner si la réponse est simple ou évidente, je suis assez débutant en PHP et surtout par rapport au protocole SOAP.

Je vais tenter de vous donner toutes les informations nécessaires pour que vous puissiez faire partager des réponses claires.

J'ai à ma disposition l'offre Ligne SIP de Téléphonie d'OVH.

J'ai tout d'abord commencé sous PHP5.

Il faut savoir que j'utilise Wampserver qui intègre la version 5.4.12 de PHP. J'ai activé l'extension php_soap.

Avec la génération du code obtenu pour cette méthode ( Voici le lien ), j'obtiens le code suivant :


try {
$soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.61.wsdl");

//login
$session = $soap->login("******", "******","fr", false);
echo "login successfull\n";

//telephonyCallList
$result = $soap->telephonyCallList($session, "*******", "france", "", "", "", "", false, "callingNumber", "********", "");
echo "telephonyCallList successfull\n";
print_r($result); // your code here ...

//logout
$soap->logout($session);
echo "logout successfull\n";

} catch(SoapFault $fault) {
echo $fault;
}

?>
J'ai évidemment mis l'identifiant du compte finissant par "-ovh" avec le mot de passe et j'ai mis un numéro pour le paramètre "filterValue".

Et lorsque je le lance, j'obtiens l'erreur :

SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.ovh.com/soapi/soapi-re-1.61.wsdl' : failed to load external entity "https://www.ovh.com/soapi/soapi-re-1.61.wsdl" in C:\wamp\www\test\test.php:4 Stack trace: #0 C:\wamp\www\test\test.php(4): SoapClient->SoapClient('https://www.ovh...') #1 {main}
***

En étant bloqué sur cette erreur, j'ai donc tenté d'effectuer cet affichage sous PHP/PEAR.

Ce qui me donne alors le code suivant :

require 'SOAP/Client.php';

$wsdl_url = 'https://www.ovh.com/soapi/soapi-re-1.61.wsdl';
$WSDL = new SOAP_WSDL($wsdl_url);
$soap = $WSDL->getProxy();

//login
$session = $soap->login("xxxxxx-ovh", "******", "fr", false);

if(PEAR::isError($session)) {
echo "Error : ".$session->getCode()." ".$session->getMessage();
} else {
echo "login successfull";
}

//telephonyCallList
$result = $soap->telephonyCallList($session, "********-ovh", "france", "", "", "", "", false, "", "********", "");

if(PEAR::isError($result)) {
echo "Error : ".$result->getCode()." ".$result->getMessage();
} else {
echo "telephonyCallList successfull";
print_r($result); // your code here ...
}

//logout
$result = $soap->logout($session);

if(PEAR::isError($result)) {
echo "Error : ".$result->getCode()." ".$result->getMessage();
} else {
echo "logout successfull";
}

?>
Pour installer PEAR sur Wamp, j'ai suivi les instructions de ce lien ( cliquez dessus ) : CLICK

En installant les packages nécessaires pour obtenir le package SOAP de PEAR, la commande "pear list" de l'invite de commandes ( admin ) me donne comme résultat l'image ci-dessous :

CLICK

En lançant le code sous PHP/PEAR, j'obtiens 2 erreurs :
Warning: require(SOAP/Client.php): failed to open stream: No such file or directory in C:\wamp\www\test\test2.php on line 2

Fatal error: require(): Failed opening required 'SOAP/Client.php' (include_path='.;C:\php\pear') in C:\wamp\www\test\test2.php on line 2
En lançant sans "require(SOAP/Client.php)" dans le code, j'obtiens le résultat suivant :

Fatal error: Class 'SOAP_WSDL' not found in C:\wamp\www\test\test2.php on line 4

Aurais-je oublié une étape ? Est-ce que je fais quelque chose de possible ? Dois-je modifier des fichiers ?

Avec toutes ces questions ces réponses et ces erreurs parmi d'autres, j'espère que vous pouviez m'apporter aide.

Je vous remercie de m'avoir lu jusqu'ici et si vous avez les réponses ou des suggestions, je vous en serai très reconnaissant.

Si un sujet a déjà été abordé ( même pour une autre méthode par exemple ), alors vous pouvez effectivement me rediriger vers ce lien et compléter avec des informations si tout n'est pas clair.

Bien à vous en attente de vos réponses !