2015-11-04 76 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);