Mise à jour du code pour la génération du wsdl

This commit is contained in:
Michael RICOIS 2011-04-26 09:07:17 +00:00
parent 88fcc54d63
commit ab2edf85bf

View File

@ -61,23 +61,21 @@ class SclientsController extends Zend_Controller_Action
}
require_once $pathClassService.'Entreprise.php';
// @todo : modifier le nom du fichier
$fichierWsdl = 'Entreprise-'.$version.'.wsdl';
$fichierWsdl = 'Entreprise-'.$clients.'-'.$version.'.wsdl';
// Fourniture du wsdl
if (isset($_GET['wsdl'])) {
if (file_exists($fichierWsdl)) {
if (!headers_sent()) {
header('Content-Type: text/xml');
}
echo file_get_contents($fichierWsdl);
} else {
echo "Erreur WSDL inexistant ";
}
}
// Génération du wsdl
elseif ( isset($_GET['wsdl-generate']) || isset($_GET['wsdl-auto']) ) {
// Génération/Founiture du wsdl
if ( isset($_GET['wsdl']) && file_exists($fichierWsdl) ) {
if (!headers_sent()) {
header('Content-Type: text/xml');
}
echo file_get_contents($fichierWsdl);
} elseif ( isset($_GET['wsdl']) && !file_exists($fichierWsdl)
|| isset($_GET['wsdl-generate'])
|| isset($_GET['wsdl-auto']) ) {
// Définition du webservice
// Définition du webservice
$wsdl = new Zend_Soap_AutoDiscover();
$wsdl->setComplexTypeStrategy('Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence');
$wsdl->setOperationBodyStyle( array('use' => 'literal') );
@ -86,18 +84,25 @@ class SclientsController extends Zend_Controller_Action
// Enregistrement du WSDL dans un fichier
if ( isset($_GET['wsdl-generate']) ) {
if (!file_exists($fichierWsdl)) {
$wsdl->dump($fichierWsdl);
echo "Le fichier $fichierWsdl a été généré";
} else {
echo "ERREUR : Le fichier $fichierWsdl est déjà présent !";
if (file_exists($fichierWsdl)) {
unlink($fichierWsdl);
}
}
$wsdl->dump($fichierWsdl);
echo "Le fichier $fichierWsdl a été généré";
} elseif (isset($_GET['wsdl']) && !file_exists($fichierWsdl)) {
$wsdl->dump($fichierWsdl);
if (!headers_sent()) {
header('Content-Type: text/xml');
}
echo file_get_contents($fichierWsdl);
// Envoi sur la sortie standard le wsdl
elseif ( isset($_GET['wsdl-auto']) ){
} elseif ( isset($_GET['wsdl-auto']) ){
$wsdl->handle();
}
// Fourniture du service
} else {