2012-05-28 35 views
0

嗯,這就是我得到的。我有一行代碼在我的CakePHP-paypal集成中導入HttpSocket。在cakephp的PayPal中導入HttpSocket

它位於我的/app/PaypalIpn/Model/DataSource/PaypalIpnSource.php。那就是:

function __construct(){ 
    if (!class_exists('HttpSocket')) { 
     if(App::uses('HttpSocket', 'Network/Http')){ 
      $this->log('http socket imported','paypal');  
     } 
    } 
     else{ 
      $this->log('http socket not imported','paypal'); 
     } 
    $this->Http = new HttpSocket(); 
    } 

順便說一句,我的HttpSocket.php位於:

C:\xampp\htdocs\wifidrivescanportal\lib\Cake\Network\Http\HttpSocket.php 

所以每次我試圖在我的HttpSocket.php訪問此功能:

public function post($uri = null, $data = array(), $request = array()) { 
    //$this->log('entered post in http socket','paypal'); 
    $request = Set::merge(array('method' => 'POST', 'uri' => $uri, 'body' => $data), $request); 
    return $this->request($request); 
} 

通過這段代碼在我的PaypalIpnSource.php裏面:

function isValid($data){ 
    // .... other codes 
    $response = $this->Http->post($server, $data); 
    return $response; 
} 

沒有任何反應。它不記錄任何東西,儘管我指示它記錄/app/PaypalIpn/Model/DataSource/PaypalIpnSource.php中的某些部分。

回答

0

調試HttpSocket類中的原始響應數據。在1.3中,我曾經有過幾個例子,但是我和這個類有同樣的問題。

嘗試http://api13.cakephp.org/view_source/http-socket/#l-292調試($ this-> request ['raw'])在這行之後。

原始數據可能包含1.3類不能提取的內容。

+0

感謝您的響應burzum,但是,我相信問題在於我沒有正確加載/導入/調用HttpSocket的概念......我想是這樣的:( – Charmie

+0

好吧:當我啓用$ response else部分,它確實讓我進入了另一個部分,它說:「PaypalIpnSource :: isValid中的HTTP錯誤,同時發回PayPal」 – Charmie

+0

你猜?你應該在這裏調試和粘貼你的堆棧跟蹤,我或多或少地確定它是不錯過HttpSocket,因爲如果它會顯示一個致命的錯誤,該類丟失 – burzum

0

那麼這裏就是我所做的這些線路碼

function isValid($data){ 
    // .... other codes 
    $response = $this->Http->post($server, $data); 
    return $response; 
} 

的我做這樣說:

function isValid($data){ 
    // .... other codes 
    return $this->Http->post($server, $data); 
} 

不那麼肯定有區別,但它的工作這種方式。一旦我完成了我在cakephp中的paypal集成,我會確保我會爲像我這樣的初學者提供一個教程。希望我能以這種方式提供幫助。我的下一個目標是使用ppcrypto進行加密。