我正在尝试连接Magento。
$WSDLUrl1 = "http://mysite/index.php/api/?wsdl";
$proxy = new SoapClient($WSDLUrl1);
$sessionId = $proxy->login('soapusername', 'apikey');
var_dump($sessionId);
我可以打印
$proxy
但未能获得
$sessionId
version -Magento 1.8
创建soap用户并赋予admin角色所有模块权限
错误说
Fatal error: Uncaught SoapFault exception: [HTTP] Internal Server Error in
C:wampwwwondemandtest.php:41 Stack trace: #0 [internal function]: SoapClient-
>__doRequest('<?xml version="...', 'http://mysite...', 'urn:Mage_Api_Mo...', 1, 0)
#1 C:wampwwwondemandtest.php(41): SoapClient->__call('login', Array)
#2 C:wampwwwondemandtest.php(41): **SoapClient->login('soapusername', 'apikey')**
#3 {main} thrown in C:wampwwwondemandtest.php on line 41
请帮. .
如果没有更多的错误日志细节,我不能确定问题是什么,但是当我试图访问Magento EE 1.12.0.2站点的API时,我有类似的结果。它在我的本地实例中工作得很好,但在远程服务器上却不行。在我的情况下,我在我的错误日志中得到以下内容…
FastCGI: comm with server "/var/www/html/php.fpm" aborted: error parsing headers: duplicate header 'Content-Type'
原因是由于app/code/core/Mage/Api/Model/Server/Adapter/Xmlrpc.php文件中run()
方法中的setHeader()
。其原因在这里有更详细的解释……http://www.magegyver.de/duplicate-content-type-header-on-api-responses/
他们还开发了一个小扩展,你可以添加来纠正这个…https://github.com/MageGyver/ApiImprovements