在NodeJS中连接到Magento XML-RPC |未知的XML-RPC标记'TITLE'错误

问题描述:

我在NodeJS项目(在Docker内部运行)中使用https://www.npmjs.com/package/magento-api-xmlrpc库来通过XML-RPC连接到Magento v1.x。在NodeJS中连接到Magento XML-RPC |未知的XML-RPC标记'TITLE'错误

我本地测试它在我的窗户是这样的:

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 

当我在泊坞窗容器测试了这个(用精确的测试配置+脚本) ,我得到这个错误:

{"original":{"message":"Unknown XML-RPC tag 'TITLE'","name":"Error"},"name":"Magento Error","message":"An error occurred at login"}

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

任何想法可能会在这里出错?

+0

我相信这里的问题是,你的服务器有超文本的访问,如果你能不域'test-domain.com/API/xmlrpc'它可能超文本访问配置另一个域解决这个问题 –

+0

所有的凭据都是正确的,我忘了该网站有IP白名单。在添加Docker容器的公共IP后它现在工作正常。 – Latheesan

对不起,这不是一个错误!

事实证明,我们在我正在测试的网站上列出了IP白名单,并且在允许magento dev站点上的码头容器的公共IP后,它开始工作。

虚惊......