Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-09-2011 11:45:00

justme
Membre
Date d'inscription: 22-03-2011
Messages: 10

Zend_Soap_Server - Recupération des exceptions

Bonjour,

Ayant un petit soucis avec la gestion des erreurs renvoyées par le service web, je souhaiterais savoir si vous aviez des préconisations à ce niveau.

Mon code :

Le controller

Code:

[lang=php]
class ServicewebController extends Zend_Controller_Action{

    public function indexAction(){
        try{
            $oServer = new Zend_Soap_Server(
                null,
                array(
                    'uri' => 'Mon_URI',
                    'soap_version' => SOAP_1_2
                )
            );
            $oServer->setClass('Mon_Sweb');

            // register exceptions that generate SOAP faults
              $oServer->registerFaultException(array('Mon_Exception'));
            $oServer->handle();


            exit;
        } catch (Exception $e) {
            error_log(print_r('exception '. $e,true));
        }

    }
}

Ma classe Mon_Sweb

Code:

[lang=php]
class Mon_Sweb {

    public function action($aSoapParams){
        $aParams = <array contenant mes paramètres>

        $oServiceWeb = Mon_ServiceWeb::getInstance($aParams);
        try{
            if($oServiceWeb instanceof Mon_ServiceWeb){
                    $aProcess = $oServiceWeb->process();
                    $aReturn = Ma_fonction_d_encodage(array('PROCESS'=>$aProcess));
                return $aReturn;
            }
            else return Ma_fonction_d_encodage(array('PROCESS'=>false,'ERRORS'=>array('Erreur d\'instanciation du service web')));
        } catch ( Exception $e ) {
            error_log(print_r('Exception caught: '. $e,true));
           }
    }
}

Ici, j'ai bien un error_log contenant le message de l'exception.
Je souhaiterai cependant pouvoir la catcher dans mon error controller pour la traiter de façon adéquate, ce que je ne parviens pas à faire.

Avez vous déjà rencontré ce type de soucis ?
Selon vous, d'où peut venir mon problème ?

En vous remerciant d'avance.

Hors ligne

 

#2 06-09-2011 14:13:47

jean
Membre
Date d'inscription: 25-08-2008
Messages: 107

Re: Zend_Soap_Server - Recupération des exceptions

Pourquoi la première classe (déclaration du Soap Server est-elle dans un controller ?

j'aurai plutot fait l'inverse : le Soap Server dans une classe et le Soap Client dans un controller.

Mais bon, je ne suis pas spécialiste.

Je viens juste d'acheter en ligne ZF Web Services (http://www.phparch.com/books/) qui traite du sujet ... et je ne l'ai pas encore commencé !

Jean

Hors ligne

 

#3 07-09-2011 09:11:29

justme
Membre
Date d'inscription: 22-03-2011
Messages: 10

Re: Zend_Soap_Server - Recupération des exceptions

Dans les différents tutos que j'ai trouvé, c'est dans un contrôleur que l'on déclare le SoapServer. Cela répond de plus à un besoin spécifique lié à mon application.
La deuxième classe n'est pas le client, il s'agit de la classe appelée dans le code au dessus, soit "Mon_Sweb", qui lance une instance de mon Service Web (contenant donc les différentes fonctions appelées à distance).

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages