我正在尝试拨打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();
有没有人有任何想法可能是什么问题?
答案 0 :(得分:1)
如果您发送带有请求的标头,请检查是否已发送标头。
答案 1 :(得分:0)
也许你应该尝试截断mysql数据库中的api_session表