====== Exercice 1 ======
===== WSDL =====
* monFormat3.wsdl
===== Serveur PHP =====
* http://127.0.0.1/ws/tp1/ex1/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;
}
// 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 '
';
}
?>
===== Client PHP =====
* http://127.0.0.1/ws/tp1/ex1/client.php
1));
$parm = '18-11-2011';
// Appel de la méthode QuelJour du service web
try{
$oReturn = $client -> QuelJour($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
var_dump($oReturn);
} catch (SoapFault $fault) {
echo 'erreur : '.$fault;
}
// Affichage des requêtes et réponses SOAP (pour debug)
echo '
Requete SOAP : '.htmlspecialchars($client->__getLastRequest()).'
';
echo '
Reponse SOAP : '.htmlspecialchars($client->__getLastResponse()).'
';
?>
===== Client Ruby =====
require 'soap/wsdlDriver'
#create driver
wsdl = "http://127.0.0.1/ws/tp1/ex1/monFormat.wsdl"
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
query = ""
@results = driver.QuelJour("")
puts @results