0

マイクロソフトの新しいボット フレームワークを試してみたかった。簡単なボットを作成し、ボット コネクタに登録しました。dev.framework.com サイトでボットをテストしようとすると、次のメッセージが返されます。

{
 "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 でアプリを実行すると、「https://myipaddress:8080をリッスンする restify 」というコンソール ログが表示されるので、ノード アプリは動作していると思います。

また、エンドポイントとして bot.verifyBotFramework() を呼び出すかどうかにかかわらず、https と http の両方を試しました。

4

2 に答える 2

0

ローカル エミュレーターに https の代わりに http を使用してみてください

于 2016-04-06T16:25:40.497 に答える
0

bot.verifyBotFramework() 呼び出しは HTTPS 経由でのみ開始され、AppID または AppSecret が間違っている場合は 403 が返されます。実際の Bot Connector サービスを介して呼び出しを試みた場合、それらが間違っていることは保証できますが、エミュレーターでは問題なく動作するはずです。ただし、500エラーが発生する理由はわかりません。それ以外は、AppIDとAppSecretがエミュレータで使用されるデフォルトであり、すべて問題ないように見えます。

于 2016-04-06T18:17:01.407 に答える