0

我正在尝试创建一个基于 Node.js 的 Skype 机器人,但是当我在 botframework 上点击“测试”时,我总是收到此错误

500 InternalServerError System.Net.Http.HttpRequestException:发送请求时出错。---> System.Net.WebException:底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。---> System.Security.Authentication.AuthenticationException:根据验证程序,远程证书无效。在 System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) 在 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) --- 内部异常堆栈跟踪结束 --- 在 System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context ) 在 System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar) --- 内部异常堆栈跟踪结束 --- 在 System.Runtime.CompilerServices。

这是我的 app.js 文件

var restify = require('restify');
var builder = require('botbuilder');
var fs = require('fs');

var https_options = {
    key: fs.readFileSync('/root/skypeBot/priv.key'),
    certificate: fs.readFileSync('/root/skypeBot/key.crt'),
    passphrase: 'secretphrase'
};

var server = restify.createServer(https_options);
server.listen(process.env.port || process.env.PORT || 3978, 'myip', function(){
    console.log("%s listening to %s", server.name, server.url);
});

var connector = new builder.ChatConnector({
    appId: myAppId,
    appPassword: myAppPassword
});
var bot = new builder.UniversalBot(connector);

server.post('/api/messages', connector.listen());

bot.dialog('/', function(session){
    session.send("HELLO worls");
});
4

1 回答 1

0

通过位于https://dev.botframework.com的机器人门户测试与您的机器人的连接时,成功的测试将导致“接受”。

如果您在单击测试机器人连接按钮后没有看到“已接受”,这可能是以下两种情况之一:

  1. 您的机器人未正确部署。/api/messages检查您的机器人部署并验证它是否接受到您的端点的 POST 请求。
  2. Bot Portal 本身存在错误。由于机器人门户正在积极开发中,您可能会不时看到门户错误。我们正在努力解决这个问题。过一会再来检查。

根据发布原始问题的日期,机器人门户中可能存在错误。从那时起,Bot Portal 有了许多改进。如果您仍然遇到此问题,最有可能的情况是您的机器人部署配置中存在错误。确保您的机器人/api/messages端点正在接受 POST 请求,然后再次尝试测试您的机器人连接。

于 2017-05-04T22:07:35.613 回答