Documentación GVHIDRA 3.1.5
Referencia de la Clase IgepWS_ServerBase

Métodos públicos

 registrar ($nombreWS)

Descripción detallada

Definición en la línea 45 del archivo IgepWS_ServerBase.php.


Documentación de las funciones miembro

registrar ( nombreWS)

Definición en la línea 46 del archivo IgepWS_ServerBase.php.

                                 {
        //Comprobamos que la clase que se ha definido existe
        global $HTTP_RAW_POST_DATA;
        if(!class_exists($nombreWS))
            throw new Exception('La clase '.$nombreWS.' no existe. Compruebe que esta clase tiene acceso a ella.');
        $server = new SOAP_Server;
        $server->_auto_translation = true;
        $soapclass = new $nombreWS;
        $server->addObjectMap($soapclass,'urn:'.$nombreWS);
        //Limpiamos el bufer para evitar problemas
        ob_clean();
        //Este cdigo sirve para generar el WSDL
        if(isset($_REQUEST['wsdl'])){ 
            require_once 'SOAP/Disco.php';
            $disco = new SOAP_DISCO_Server($server,'Server'.$nombreWS);
            header("Content-type: text/xml");
            echo $disco->getWSDL();
            exit;
        }
                try {
                        $server->service($HTTP_RAW_POST_DATA);
                } catch (Exception $e) {
                        IgepDebug::setDebug(PANIC,'Ha ocurrido una excepcin no capturada (web service):<pre>'.$e.'</pre>');
                        // se genera mensaje ocultando el error al llamante
                        $e2 = new Soap_Fault($soapclass->encode('Error interno en servidor'));
                        echo $e2->message();
                }
    }    

La documentación para esta clase fue generada a partir del siguiente fichero: