2015-11-04 72 views
0

PHP致命錯誤:未捕獲的SOAPFault異常:[客戶]看起來我們有沒有XML文檔與Magento的SOAP登錄問題

我試圖使用SOAP連接到Magento的,當我嘗試做登錄時出現錯誤。用戶存在,密碼正確,用戶擁有所有權限。我試圖連接的網址是OK,內容也是這樣,它是一個正確的XML。我已經使用trace = true和所有的東西。

這裏是我的代碼:

$mage_url = 'http://mymagentoserver/api/soap?wsdl'; 
$mage_user = 'soap_user'; 
$mage_api_key = '********'; 
$soap = new SoapClient($mage_url); 
$session_id = $soap->login($mage_user, $mage_api_key); 
+0

你應該嘗試的,'沒有緩存參數來調用$客戶端=新SoapClient的($網址,陣列( 'cache_wsdl'=> WSDL_CACHE_NONE));' –

+0

謝謝@AlexandruOlaru,但它不工作: ( – ayoseturru

+0

嘗試並在URL中包含index.php - 我不得不使用它之前:'http://mymagentoserver/index.php/api/v2_soap?wsdl' – McNab

回答

0

您可以通過SOAP V2

$client = new SoapClient('http://www.comain.co.uk/api/v2_soap?wsdl=1'); 
$session = $client->login('username', 'apikey'); 
+0

感謝兄弟,但我也測試過這些方法,它不起作用! – ayoseturru

0

有一個article describing your error on this blog嘗試這樣的。他們建議運行

print_r($client->__getLastResponse()); 

確定是否實際上有任何XML。您的index.phpapi.php文件中可能會有一些錯誤的空白,這些文件正在破壞SOAP解析器。文章進一步建議擴展SoapClient類以覆蓋一些方法......希望你不必走得太遠。

我也會在你的Magento webroot中檢查我的var/log/system.logvar/log/exeption.log

0

你可以試試這個用於SOAP登錄。

//first get user and apikey from admin. 

$client = new SoapClient('http://URL/api/v2_soap/?wsdl=1');  
$session = $client->login('User', 'ApiKey');  
print_r($session);