![]() |
Documentación GVHIDRA 3.1.5
|
Métodos públicos | |
registrar ($nombreWS) |
Definición en la línea 45 del archivo IgepWS_ServerBase.php.
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(); } }