7

我有一个 Magento 服务器,它具有通过 API 公开的各种方法。我正在制作各种客户端模块的原型来调用这个 API。到目前为止,这是成功的。

我刚开始使用 curl 来推送 xml。令人惊讶的是,我什至无法通过 API 登录。这就是我正在做的事情(“登录”方法需要两个字符串,用户名和密码)。

curl --data-urlencode @xmlrpc http://domain/api/xmlrpc

xmlrpc 文件的内容

<?xml version="1.0"?>
 <methodCall> 
 <methodName>login</methodName>
 <params>
 <param>
 <value>apiUser</value>
 </param>
 <param>
 <value>apiKey</value>
 </param>
 </params>
 </methodCall>

这就是我得到的:

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>631</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Failed to parse request</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>

这个错误是什么意思?

4

1 回答 1

11

而且,像往常一样,我的初学者查询最终是关于一些简单的事情。

curl --data @xmlrpc http://domain/api/xmlrpc

代替

curl --data-urlencode @xmlrpc http://domain/api/xmlrpc

给了我一个很好的新会话变量,表明我已经登录了!

<methodResponse><params><param><value><string>eaab9ac0780f6bc9ba867804</string></value></param></params></methodResponse>
于 2012-07-31T18:35:45.403 回答