在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
(我知道这是无效的)。
任何想法可能会在这里出错?
答
对不起,这不是一个错误!
事实证明,我们在我正在测试的网站上列出了IP白名单,并且在允许magento dev站点上的码头容器的公共IP后,它开始工作。
虚惊......
我相信这里的问题是,你的服务器有超文本的访问,如果你能不域'test-domain.com/API/xmlrpc'它可能超文本访问配置另一个域解决这个问题 –
所有的凭据都是正确的,我忘了该网站有IP白名单。在添加Docker容器的公共IP后它现在工作正常。 – Latheesan