1

我已经在 Ubuntu 12.04 上完成了 Magento 的基本设置。一切似乎都工作正常,上传产品,列出产品等。但由于某种原因,“/api”不起作用。

我已经更改了管理员角色和属性,甚至允许完全访问访客和客户帐户,但由于某种原因,我仍然无法执行来自 api 的基本请求。

发生的一件奇怪的事情是即使"http://localhost/magento/api/?wsdl"不起作用,"http://localhost/magento/index.php/api/?wsdl"似乎也返回了一些 XML。

可能是什么问题呢?我该如何解决?

4

3 回答 3

3

包含的 URLindex.php是正确的 API url。

Magento API 不是一个简单的“可在浏览器中浏览”的 RESTful api。最初的“Magento API”是可通过 SOAP 或 XML-RPC 协议访问的 API。您可以在此处阅读 http://www.magentocommerce.com/api/soap/introduction.html#Introduction-SupportedTypes">它。您选择的客户端语言应该具有使用这些协议进行 API 调用的工具。

较新版本的 Magento 也有一个"REST" api。此 API通过逻辑命名的 URL 访问。但是,您需要使用 oAuth 进行身份验证,这意味着您不能只浏览到 URL。

于 2013-07-09T05:54:02.270 回答
2

只需移动api.php_api.php或完全删除它,请求路径/api/...就会立即修复 - 没有 404 或“指定的 Web 服务适配器无效”错误。

这似乎与 Apache(至少在我们的例子中)将请求解释/api为与 Web 根目录有关,api.php即使在过去反复研究(谷歌搜索)问题之后,我也不知道如何改变这种行为年。

我知道这个答案有点晚了,但我希望原始修复可以帮助遇到同样问题的其他人,或者更好 - 我希望比我更聪明的人出现并解释如何正确改变这种行为!

于 2015-07-23T16:18:04.190 回答
0

如果 url 返回一个 XML,您可能正在尝试从您自己的服务器测试您的连接,而您的服务器无法解析您的主机名。

尝试从另一台服务器测试您的 API。

于 2013-07-09T05:45:14.050 回答