true, ); public function init() { $this->_helper->viewRenderer->setNoRender(); } public function indexAction() { require_once 'Zend/Exception.php'; require_once 'Zend/Soap/AutoDiscover.php'; require_once 'Zend/Soap/Server.php'; require_once 'WsScore/WrappedServiceProxy.php'; $request = $this->getRequest(); $version = $request->getParam('version', 'v'.$this->wsdlVersion); $version = substr($version, 1); //Version inexistante if ( !array_key_exists($version, $this->serviceVersions) ) { if (isset($_GET['wsdl'])) { echo "Version inexistante."; } else { require_once 'WsScore/WsScore.php'; $ws = new WsScore(); $ws->sendError('9004'); } exit; } //Version désactivé if ( !$this->serviceVersions[$version] ) { if (isset($_GET['wsdl'])) { echo "Version désactivée."; } else { require_once 'WsScore/WsScore.php'; $ws = new WsScore(); $ws->sendError('9003'); } exit; } //Charger les classes et les types pour le service suivant la version $pathClassService = 'WsScore/v'.$version.'/'; $wsConfig = new Zend_Config_Ini($pathClassService.'WsEntreprise.ini'); foreach($wsConfig->Type->toArray() as $Type){ $this->classmap[$Type] = $Type; } require_once $pathClassService.'WsEntreprise.php'; $fichierWsdl = $this->wsdlName.'-'.$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']) ) { // Définition du webservice $wsdl = new Zend_Soap_AutoDiscover(); $wsdl->setComplexTypeStrategy('Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence'); $wsdl->setOperationBodyStyle( array('use' => 'literal') ); $wsdl->setBindingStyle( array('style' => 'document') ); $wsdl->setClass('WsEntreprise'); // 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 !"; } } // Envoi sur la sortie standard le wsdl elseif ( isset($_GET['wsdl-auto']) ){ $wsdl->handle(); } // Fourniture du service } else { // Données de configuration placé dans le registre $webservicesConfig = new Zend_Config_Ini(APPLICATION_PATH . '/configs/webservices.ini', APPLICATION_ENV); Zend_Registry::set('webservicesConfig',$webservicesConfig); // traitement try { if (APPLICATION_ENV == 'production') { // @todo Vérifier la présence du fichier sinon envoyer erreur $server = new Zend_Soap_Server($fichierWsdl); } else { $hostName = $this->getRequest()->getHttpHost(); $server = new Zend_Soap_Server('http://'.$hostName.'/service?wsdl-auto'); } $proxy = new WrappedService_Proxy('WsEntreprise', array(), array('wrappedParts' => true)); $server->setObject($proxy); $server->setClassmap($this->classmap); $server->handle(); } catch (Zend_Exception $e) { Zend_Registry::get('log')->err("Service - ".$e->getMessage()); } } exit; } public function testpAction() { $request = $this->getRequest(); echo "
";
    	print_r($request->getParams());
    	echo "
"; exit; } }