我正在使用节点模块jsforce将销售线索添加到salesforce潜在客户表。 https://www.npmjs.org/package/node-salesforce这是文档。该网站目前正在运行,但每天我都要在会话到期时重新启动服务器,我收到此消息
{ [INVALID_SESSION_ID: Session expired or invalid] name: 'INVALID_SESSION_ID', errorCode: 'INVALID_SESSION_ID' } undefined
这是设置它的代码部分:
conn.sobject("Lead").create({
email : req.body.email,
firstname : req.body.first_name,
lastname : req.body.last_name,
title : req.body.job_title,
company : req.body.company,
leadsource: 'Clearing Microsite',
description: req.body.message
}, function(err, ret) {
if (err || !ret.success) {
return console.error(err, ret);
}
console.log("Created record id : " + ret.id);
});
});
我猜测return console.error(err, ret)
正在抓住会话到期的内容,但是在发生这种情况后如何才能重新连接?
我已尝试使用conn.logout
然后使用登录功能重新登录,但无法使其正常工作且测试相当困难,因为它似乎只在一天后过期!
编辑:
我想我需要像if (err == {[INVALID...]}) {reconnect}
这样的东西但是我不知道该用什么
答案 0 :(得分:1)
在if (err || !ret.success) {}
我添加的内容中,我想我可能已经解决了这个问题:
if (err.name == 'INVALID_SESSION_ID') {
conn.logout(function (err) {
if (err) { return console.error(err); }
conn.login(*login details*)
// then repeated the lead entry
});
}
我无法检查这是否有效直到明天早上会话超时,但如果确实有效则会更新
编辑: 没有工作,没有退出就试试。得到了这个错误
[Error: INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session. Session not found, missing session key: <KEY> This is expected, it can happen if the session has expired and swept away, or if the user logs out, or if its just someone trying to hack in. ]
第二次编辑:退出注册就像一个魅力!谢谢@superfell