【问题标题】:xml-rpc request using curl?使用 curl 的 xml-rpc 请求?
【发布时间】:2012-07-29 14:23:38
【问题描述】:

我有一个 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>

这个错误是什么意思?

【问题讨论】:

  • 更多信息可能会有所帮助:我知道方法名是正确的,因为我之前曾针对该方法名提出过请求。我还尝试在 xmlrpc 文件中添加字符编码行 (encoding="UTF-8"),但这没有帮助。

标签: xml magento curl rpc


【解决方案1】:

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

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多