要让magento中的api正常工作,我需要做些什么吗?
我正在访问本地安装(1.7)上的/api/soap/?wsdl,它返回以下错误:
Invalid webservice adapter specified.
一切看起来都在网站上启用,但我找不到任何关于我需要做的其他步骤的信息,以使api工作。
发布于 2013-06-10 19:42:56
我在htaccess中通过关闭MultiViews选项解决了这个问题,如下所示:
从…
<Directory /var/www/magento>
Options Indexes FollowSymLinks MultiViews
</Directory>
至
<Directory /var/www/magento>
Options +Indexes +FollowSymLinks -MultiViews
</Directory>
发布于 2013-04-09 16:46:30
如果您想保持与旧API调用的兼容性,还有一种不同的方法。由于某种模糊的原因,我的Apache服务器在重写解析期间无法分析字符串^api/...
。
但是您仍然可以在不更改Magento PHP代码的情况下使用http://www.somedomain.com/api/v2_soap?wsdl=1
。您只需更改.htaccess,如下所示:
在.htaccess中替换:
RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L]
通过
RewriteRule ^api(\.php)?/([a-z][0-9a-z_]+)/?$ api.php?type=$2 [QSA,L]
(参见^api.php/而不是^api/)
更好的是,如果你们中的一些人有http://www.somedomain.com/api/V2_soap?wsdl=1
(V2_soap是大写的),你将不得不添加一个RewriteMap
来使用内部apache函数来设置小写的参数。将RewriteMap添加到虚拟主机:
RewriteMap lc int:tolower
在.htaccess中
RewriteRule ^api(\.php)?/([a-zA-Z][0-9a-z_]+)/?$ api.php?type=${lc:$2} [QSA,L]
这会将api.php脚本的参数设置为小写,并接受正则表达式中的‘V2_soap
这最后一部分是由@dreeves in this answer带来的
https://stackoverflow.com/questions/13932908
复制相似问题