====== WS avec fichier WSDL ======
* Client php client.php
1));
$parm = 'LPRO';
// Appel de la méthode hellotest du service web
try{
$oReturn = $client -> hellotest($parm);
} catch (Exception $e) {
echo 'erreur1'.$e;
}
catch (SoapFault $fault) {
echo "il y a une erreur";
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
// affiche le résultat
echo "Resultat : ".$oReturn."
" ;
} catch (SoapFault $fault) {
echo 'erreur : '.$fault;
}
// Affichage des requetes et reponses SOAP (pour debug)
echo '
Requete SOAP : '.htmlspecialchars($client->__getLastRequest()).'
';
echo '
Reponse SOAP : '.htmlspecialchars($client->__getLastResponse()).'
';
echo '
'.var_dump($oReturn);
?>
* Serveur PHP : serveur.php
1,'encoding' => 'ISO-8859-1'));
// On définit la classe qui va gérer les requêtes SOAP (pour nous c'est la class Server)
$server->setclass('Server');
$server->setPersistence(SOAP_PERSISTENCE_REQUEST);
} catch (Exception $e) {
echo 'erreur'.$e;
}
/*
* Gestion des requêtes
*/
// Si l'appel provient d'un Web-Service
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
try {
$server -> handle();}
catch (Exception $e) {
echo 'erreur'.$e;
}
}
// Facultatif seulement pour montrer les fonctions disponibles par le web-service
else {
echo 'This SOAP server can handle following functions : ';
echo '';
foreach($server -> getFunctions() as $func) {
echo '- ' , $func , '
';
}
echo '
';
}
?>
* WSDL (généré avec eclipse) : Hello.wsdl