首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Magento api:指定的webservice适配器无效

Magento api:指定的webservice适配器无效
EN

Stack Overflow用户
提问于 2012-12-18 20:22:16
回答 2查看 16K关注 0票数 18

要让magento中的api正常工作,我需要做些什么吗?

我正在访问本地安装(1.7)上的/api/soap/?wsdl,它返回以下错误:

代码语言:javascript
复制
Invalid webservice adapter specified.

一切看起来都在网站上启用,但我找不到任何关于我需要做的其他步骤的信息,以使api工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-10 19:42:56

我在htaccess中通过关闭MultiViews选项解决了这个问题,如下所示:

从…

代码语言:javascript
复制
<Directory /var/www/magento>
            Options Indexes FollowSymLinks MultiViews
</Directory>

代码语言:javascript
复制
<Directory /var/www/magento>
            Options +Indexes +FollowSymLinks -MultiViews
</Directory>
票数 37
EN

Stack Overflow用户

发布于 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带来的

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13932908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档