2015-11-17 77 views
0

我想在遠程Magento安裝(我不擁有,所以我不能訪問代碼或任何東西),但它不工作的新用戶註冊。Magento SOAP API:createCreateCustomer返回false,沒有錯誤

我成功登錄,但是當我調用customerCustomerCreate()方法時,它只是在沒有任何補充信息的情況下返回false。用戶不存在,但即使他做了我也會很高興有一個錯誤信息!

這裏是一個示例代碼:

$soapClient = new SoapClient('URL TO THE WSDL'); 
$session = $soapClient->login('APIUSER','APIPASSWORD'); // Login ok 
$newUser = array('ALL THE INFOS ABOUT USER, AND MORE!'); 
$distantUserId = $soapClient->customerCustomerCreate($session, $newUser); 
// $distantUserId = false... 

對於$newUser,我有比Magento的要求的詳細信息;因爲我已經有用戶在我身邊了,我只是通過了我擁有的所有信息,即使它是Magento沒有的字段,這可能是問題嗎?

有沒有辦法讓我有更多的錯誤信息?或者我必須問Magento的老闆?

回答

1

如果你傳遞額外的字段,它們將被SOAP服務器過濾掉,所以這不成問題。

獲得更多信息的唯一方法是要求提供日誌或在Magento端啓用開發者模式,如果這不是活的網站(可以通過服務器上的.htaccess完成)。開發者模式開啓時,所有異常都會直接輸出到客戶端。

您也可以與我們分享客戶資料。下面的格式對我的作品:

$client = new SoapClient('http://your.host/index.php/api/v2_soap/?wsdl'); 
$sessionId = $client->login('apiUser', 'apiKey'); 
$result = $client->customerCustomerCreate(
    $sessionId, 
    array(
     'email' => '[email protected]', 
     'firstname' => 'Dough', 
     'lastname' => 'Deeks', 
     'password' => 'password', 
     'website_id' => 1, 
     'store_id' => 1, 
     'group_id' => 1 
    ) 
); 
print_r($result); // Output ID of created customer 

當我嘗試再進行一次同樣的請求,我得到的SOAPFault預期:This customer email already exists(開發模式是關閉的)。

+0

愚蠢的錯誤在我身邊,沒有得到SoapFault,因爲我沒有將所有內容都包含在try/catch塊中......現在我有了我的錯誤信息(用戶數據有問題),我可以繼續^^感謝您提及SoapFault! – Yoh

相關問題