2016-02-01 92 views
0

我有一個處理基於SOAP的Web服務的函數。無法使用CRON從SOAP Web服務接收xml響應

當我通過URL運行函數時,我得到了XML響應。但是當我通過CRON運行該函數時,我沒有得到xml響應。

<?php 

$logFile = 'checking'.date('Y-m-d').'.log'; 

     $client = new SoapClient("http://DOMAIN/services/weburl?wsdl",array("trace" => true, 'use' => SOAP_LITERAL)); 
     $params = array('username' => 'username', 'Password' => 'password', 'delatdate' => '17/06/2015 18:00:00'); 
     try{ 
      $response = $client>-productOnHand($params); 


     } catch(SoapFault $e){ 
      echo $e->faultcode; echo '<br />'; 
      echo $e->getMessage(); echo '<br />'; 
     } 

     require_once 'app/Mage.php'; 
     Mage::app(); 

     Mage::log(print_r($response, true), null, $logFile); 
     Mage::log(print_r($client->__getLastResponse(), true), null, $logFile); 

?> 

如果我通過URL運行此網頁,我得到有效的XML響應。但是當通過CRON調用這個頁面時,我沒有得到有效的迴應。

+0

當你從cron運行它時,你會得到什麼?有沒有錯誤? –

+0

@AlexBlex我沒有收到任何錯誤。同時我沒有得到任何迴應。但如果我通過瀏覽器運行,我得到了一些像'stdClass Object ( [return] =><?xml version =「1.0」encoding =「UTF-8」?><產品......' – Butterfly

+0

如果你沒有錯誤,也沒有迴應,你怎麼知道你的cron作業開始了? –

回答

0

我修復了這個問題。

之前default_socket_timeout被設置爲60.我把它提升爲600.現在我能夠接收了。