【发布时间】:2012-04-13 02:46:37
【问题描述】:
我正在尝试调用 magento api 以获取特定客户的详细信息。当我进行此调用时,我总是收到以下错误:
PHP Fatal error: Uncaught SoapFault exception: [5] Session expired. Try to relogin. in /var/www/magento-client/magento-customer.php:12
Stack trace:
/var/www/magento-client/magento-customer.php(12): SoapClient->__call('call', Array)
/var/www/magento-client/magento-customer.php(12): SoapClient->call('a1a6863c7dadd95...', 'customer.info', 3)
{main}
thrown in /var/www/magento-client/magento-customer.php on line 12
我后端有一个有效的api用户,后端的api会话超时设置为9999999999999,我什至尝试覆盖magento核心代码中的isSessionExpired函数,但没有任何效果。
代码如下:
$url = 'http://magentourl/api/soap/?wsdl';
$apiUser = "user";
$apiPass = "password";
$proxy = new SoapClient($url);
$sessionId = $proxy->login($apiUser, $apiPass);
// Get new customer info
var_dump($sessionId);
var_dump($proxy->call($sessionId, 'customer.info', 3));
die();
有人知道问题可能是什么吗?
【问题讨论】:
-
检查您的服务器时间设置。确保其设置正确且位于正确的时区。
-
请尝试:gadgets.in/api/v2_soap/?wsdl';而不是 $url = 'magentourl/api/soap/?wsdl'; ?> 它可以帮助你。并查看stackoverflow.com/questions/14746359/…
-
@jw01 你解决过这个问题吗?
-
服务器或客户端的时区无关紧要。
-
@baash05 你能在同一个问题中解决它吗