Node.js Bot框架获取内部错误代码500
我想试试微软新的机器人框架。我制作了一个简单的机器人,并在机器人连接器中注册了它。 当我现在想在dev.framework.com网站上测试我的bot时,我收到了以下消息:Node.js Bot框架获取内部错误代码500,node.js,openshift,botframework,Node.js,Openshift,Botframework,我想试试微软新的机器人框架。我制作了一个简单的机器人,并在机器人连接器中注册了它。 当我现在想在dev.framework.com网站上测试我的bot时,我收到了以下消息: { "error": { "code": "Internal", "message": "An error occurred while sending the request. Unable to connect to the remote server An attempt was made to ac
{
"error": {
"code": "Internal",
"message": "An error occurred while sending the request. Unable to connect to the remote server An attempt was made to access a socket in a way forbidden by its access permissions 172.17.1.41:3978 [GSisZ6ZkL7d]",
"statusCode": 500
}
}
这是我的app.js:
var builder = require('botbuilder');
var restify = require('restify');
var index = require('./dialogs/index.js');
var bot = new builder.BotConnectorBot({ appId: 'myAppId', appSecret: 'myAppSecret' });
bot.add('/', index);
var server = restify.createServer();
server.post('/api/messages', bot.listen());
server.listen(process.env.port || 8080, process.env.ip, bot.verifyBotFramework(), function () {
console.log('%s listening to %s', server.name, server.url);
});
当我在openshift上运行我的应用程序时,我会得到控制台日志“restify listening to”,所以我猜我的节点应用程序正在工作
我还尝试将https和http作为端点调用bot.verifyBotFramework()和不调用bot.verifyBotFramework()。尝试对本地模拟器使用http而不是httpsbot.verifyBotFramework()调用只会通过https启动,如果您的AppID或AppSecret错误,将返回403。如果您试图通过实际的Bot连接器服务调用,我可以保证它们是错误的,但是它们应该可以与模拟器一起工作。我不知道你为什么会有500个错误。除此之外,AppID和AppSecret是emulator使用的默认端口,在我看来一切正常。似乎端点映射到了错误的端口(3978),但OpenShift可能只允许端口8080从公共web连接?