对 Magento Soap API 的调用立即过期

问题描述 投票:0回答:2

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

有人知道问题可能是什么吗?

session magento soap magento-soap-api
2个回答
1
投票

如果您随请求发送标头,则会发生这种情况,请检查标头是否已发送。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.