我有一个Magento服务器,它通过API公开了各种方法。我正在为各种客户端模块进行原型设计以调用此API。到目前为止,这已经取得了成功。
我刚开始使用curl来推送xml。令人惊讶的是,我甚至无法通过API登录。这就是我正在做的事情('login'方法需要两个字符串,即用户名和密码。)
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>
这个错误意味着什么?
答案 0 :(得分:10)
而且,和往常一样,我的初学者查询最终只是简单的事情。
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>