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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <?php
// Pour supprimer le cache du web-service
ini_set('soap.wsdl_cache_enabled', 0);
// Pour définir le temp maximal d'éxecution de notre web-service
ini_set('default_socket_timeout', 180);
// Nom de notre web-service
class Server {
// Le service QuelJour que l'on a définit dans notre format wsdl
function QuelJour($parm) {
$aJour[1] = 'Lundi';
$aJour[2] = 'Mardi';
$aJour[3] = 'Mercredi';
$aJour[4] = 'Jeudi';
$aJour[5] = 'Vendredi';
$aJour[6] = 'Samedi';
$aJour[0] = 'Dimanche';
return $aJour[date("w",strtotime($parm))];
}
}
// On tente d'instancier la classe soapServer
// Si cela s'avère impossible, on affiche une erreur
try {
$server = new SoapServer('monFormat.wsdl', array('trace' => 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;
}
// 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 '<strong>This SOAP server can handle following functions : </strong>';
echo '<ul>';
foreach($server -> getFunctions() as $func) {
echo '<li>' , $func , '</li>';
}
echo '</ul>';
}
?> |
Partager