呼叫magento soap api立即过期

时间:2012-03-29 12:46:59

标签: api magento session soap

我正在尝试拨打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();

有没有人有任何想法可能是什么问题?

2 个答案:

答案 0 :(得分:1)

如果您发送带有请求的标头,请检查是否已发送标头。

答案 1 :(得分:0)

也许你应该尝试截断mysql数据库中的api_session表