【问题标题】:Connecting to Magento XML-RPC in NodeJS | Unknown XML-RPC tag 'TITLE' error在 NodeJS 中连接到 Magento XML-RPC |未知的 XML-RPC 标记“TITLE”错误
【发布时间】:2017-08-29 12:08:20
【问题描述】:

我在 NodeJS 项目(在 Docker 中运行)中使用 https://www.npmjs.com/package/magento-api-xmlrpc 库通过 XML-RPC 连接到 Magento v1.x。

我已经在我的 Windows 上进行了这样的本地测试:

let magento = new MagentoAPI({
    host: 'test-domain.com',
    port: 443,
    path: '/api/xmlrpc',
    login: 'api-username',
    pass: 'api-password'
});

magento.login(function(err, sessId) {
    if (err) {
        console.log('Credentials verification failed:\n%j', err);
        return cb(err, { verified: false });
    } else {
        console.log("Login Successful - Session Id: " + sessId);
        return cb(null, { verified: true });
    }
});

它有效:

Login Successful - Session Id: 1d0d9e764d7d955470f92fa93fb53ca8

当我在 docker 容器中测试它时(使用经过精确测试的配置 + 脚本),我收到了这个错误:

{"original":{"message":"未知的 XML-RPC 标记 'TITLE'","name":"Error"},"name":"Magento 错误","message":"一个错误 登录时发生"}

奇怪的是;如果我将测试脚本的port 设置为80(我知道这是无效的),我只会在 Windows 中看到上述错误。

有什么想法可能会出错吗?

【问题讨论】:

  • 我认为这里的问题是您的服务器具有超文本访问权限,如果您可以为域 test-domain.com/api/xmlrpc 配置另一个没有超文本访问权限的域,它可能会解决此问题
  • 所有凭据都是正确的,我忘记了该站点有 IP 白名单。添加 docker 容器的公共 ip 后,它现在可以正常工作了。

标签: node.js magento xml-rpc


【解决方案1】:

对不起,这不是错误!

事实证明,我们在我正在测试的站点上有 IP 白名单,并且在 magento 开发站点上允许 docker 容器的公共 IP 之后,它开始工作。

误报...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 2014-05-14
    相关资源
    最近更新 更多