Ticket #377: soap.php

File soap.php, 1.7 kB (added by laurentj, 11 months ago)

exemple de point d'entrée pour soap

Line 
1 <?php
2 /**
3 * @package  jelix
4 * @subpackage testapp
5 * @author   Jouanneau Laurent
6 * @contributor
7 * @copyright 2008 Jouanneau laurent
8 * @link        http://www.jelix.org
9 * @licence  http://www.gnu.org/licenses/gpl.html GNU General Public Licence, see LICENCE file
10 */
11
12 require_once ('../../lib/jelix/init.php');
13 require_once ('../../testapp/application.init.php');
14 require_once (JELIX_LIB_CORE_PATH.'request/jSoapRequest.class.php');
15
16 class jSoapHandler {
17
18     function __call($func,$args){
19
20         /* ici, cette methode init analyse $func et $args pour en déduire
21         le module, controller et methode, qu'il met donc à disposition
22         dans des parametres module, action comme d'hab
23         */
24         $request= new jSoapRequest($func, $args);
25
26         $jelix = new jCoordinator('soap/config.ini.php');
27         $jelix->process($request);
28
29         // dans $jelix->response, on a un objet jResponseSoap
30         // (parce qu'on aura fait un $this->getResponse('soap') dans le controller)
31         // et ce jResponseSoap contient une propriété $response qui contient
32         // les données à retourner
33         // au contraire des autres objets response, jResponseSoap::output() ne doit rien
34         // renvoyer au navigateur.
35         $valeursRetour = $jelix->response->response;
36
37         // ici on traite peut être valeursRetour en les transformant
38         // selon ce que demande l'objet SoapServer,
39         // mais à voir, je ne sais pas
40         ...
41         return $valeursRetour;
42     }
43 }
44
45 $server = new SoapServer(JELIX_APP_CONFIG_PATH.'fichier.wsdl',  array('soap_version' => SOAP_1_1, autres options je sais pas));
46 $server -> setclass('jSoapHandler');
47 $server -> handle();
48
49 ?>
Download in other formats: Original Format