代码之家  ›  专栏  ›  技术社区  ›  AITea

不允许Bot Framework WebChat Failure[405]方法

  •  0
  • AITea  · 技术社区  · 8 年前

    我们已经开发了一个聊天机器人使用微软机器人框架NodeJS模板。我们部署到Azure上。打开输出控制台时,我们看到以下错误:

    var restify = require('restify');
    var builder = require('botbuilder');
    
    // Setup Restify Server
    var server = restify.createServer();
    server.listen(process.env.port || process.env.PORT || 3978, function () {
       console.log('%s listening to %s', server.name, server.url); 
    });
    
    // Create chat connector for communicating with the Bot Framework Service
    var connector = new builder.ChatConnector({
        appId:My APP ID',
        appPassword:My APP Password
    });
    
    // Listen for messages from users 
    server.post('/api/messages', connector.listen());
    
    // Receive messages from the user and respond by echoing each message back (prefixed with 'You said:')
    var bot = new builder.UniversalBot(connector, function (session) {
        session.send("You said: %s", session.message.text);
    });
    

    包.JSON

    {
      "name": "",
      "version": "",
      "dependencies": {
        "botbuilder": "^3.15.0",
        "restify": "^7.2.1"
      }
    }
    

    控制台上的输出

            Error: GET to 'https://state.botframework.com/v3/botstate/webchat/conversations/0560d6047ba0487bd762e7e86a1b6ca/users/A8r4akHZE1Z' failed: [405] Method Not Allowed
        at Request._callback (D:\home\site\wwwroot\node_modules\botbuilder\lib\bots\ChatConnector.js:647:46)
        at Request.self.callback (D:\home\site\wwwroot\node_modules\request\request.js:185:22)
        at emitTwo (events.js:106:13)
        at Request.emit (events.js:191:7)
        at Request. (D:\home\site\wwwroot\node_modules\request\request.js:1157:10)
        at emitOne (events.js:96:13)
        at Request.emit (events.js:188:7)
        at IncomingMessage. (D:\home\site\wwwroot\node_modules\request\request.js:1079:12)
        at IncomingMessage.g (events.js:291:16)
        at emitNone (events.js:91:20)
    

    我们尝试了许多解决办法,但都没有奏效。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Nicolas R    8 年前

    看起来你想用旧的 StateClient 现在已经有一段时间被弃用了。

    here for Node.js

    如果没有关于你代码的模式细节,我就帮不上忙了

    推荐文章