Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2014, 09:58
Avatar de shamy1992
shamy1992
 
Fecha de Ingreso: mayo-2014
Ubicación: La Florida
Mensajes: 3
Antigüedad: 10 años
Puntos: 0
Ocupar Fatal Error como Condición

Estimados,
recurro a ustedes ya en la web no eh podido encontrar respuestas a como puedo manejar un fatal error, al momento que aparezca me indique cual fue el ultimo dato que alcanzo a consultar, actualmente tengo un script que realiza unas consulta a una API o WebService, al consultar pocos datos este me arroja el resultado sin problemas, pero cuando ya son muchos datos a consultar y dejo correr el script surge el problema y me aparece el siguiente mensaje:

Código PHP:
PHP Fatal error:  Uncaught SoapFault exception: [HTTP] Could not connect to host in /var/www/html/dataware/ExtraerDatosLineas.php:29
Stack trace:

#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://bss.net...', '', 1, 0)
#1 /var/www/html/dataware/ExtraerDatosLineas.php(29): SoapClient->__call('getSubscription', Array)
#2 /var/www/html/dataware/ExtraerDatosLineas.php(29): SoapClient->getSubscription(Array)
#3 {main}
  thrown in /var/www/html/dataware/ExtraerDatosLineas.php on line 29
y hay el script de detiene.
Como dije al principio lo que quiero saber es que si al momento que aparezca el fatal error me pueda indicar cual fue el ultimo dato que alcanzo a consultar y luego consultar los datos restantes o existe otra forma que no se detenga el script para que termine de consultar todo los datos.

Este es el script que utilizo :

Código PHP:
<?php 
$clientBSS 
= new SoapClient($urlBSS, array('exceptions' => true"trace"=>true,'cache_wsdl' => WSDL_CACHE_NONE));

$subcriptionID=fopen('subscriptionID.txt','r') or die("No se pudo abrir el archivo"); //Datos a Consultar
$data_lineas=fopen('datos_lineas.csv','w');//Resultado de los datos consultados
      
while (!feof($subcriptionID))
    {
    
//Obtengo la lina del dato a consultar    
      
$subID=fgets($subcriptionID);
    
//Limpio el dato
    
$subsID=trim($subID);
        
//Funcion para consultar los datos
        
$r2 $clientBSS->getSubscription(array('auth'=>array('password'=>'xxxxx','user'=>'xxxxxxx'),
                            
'subscriptionID'=>$subsID));
                            
        
//Verifico que el dato exista
        
if($r2->GetSubscriptionResult->result->callMsg == 'SUCCESS')
        {
            
//Limpio el dato 
            
$idSubscriberNet = @eregi_replace("[\n|\r|\n\r]"' '$r2->GetSubscriptionResult->subscription->idSubscriber);
            
//Lo guardo en un array
            
$cliente = array($idSubscriberNet);
            
//Lo imprimo en un archivo separado por ,
            
fputcsv($data_lineas,$cliente);
        }                
    }
    
fclose($data_lineas);
    
fclose($subcriptionID);
    
    
$clientBSS->__getLastRequest();
    
$clientBSS->__getLastResponse();
?>
Por favor me puede ayudar con este tema.