{Action name}现在没有响应。请尽快重试

问题描述 投票:0回答:2

我是ActionSDK的新手,我用Action SDK创建了一个项目。我的操作的实现是在Azure中作为Web服务部署。

我正在更新我的行动:

gactions update --action_package action.json --project“projectID”

话虽这么说,更新是成功的。

这是我的action.json:

 {
  "actions": [
    {
      "name": "MAIN",
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to Conduent Helper",
            "Talk to conduent help"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "conduentHelpTest"
      }
    }
  ],
  "conversations": {
    "conduentHelpApp": {
      "name": "conduentHelpTest",
      "url": "https://dialogflowappnc.azurewebsites.net",
      "fulfillmentApiVersion": 2
    } 
  }
}

这是我在尝试自己之后找到的履行代码,并且没有成功:

'use strict';

var express = require('express');
var bodyParser = require('body-parser');
var exps = express();

const ApiAiApp = require('actions-on-google').ApiAiApp;

exps.use(bodyParser.json());

// API.AI actions
const WELCOME_ACTION = 'input.welcome';

exps.post('/', function(request, response) {

  console.log("hello World");

  const app = new ApiAiApp({request, response});
  function greetUser (app) {
    app.tell("Hello World!");
  }

  let actionMap = new Map();
  actionMap.set(WELCOME_ACTION, greetUser);

  app.handleRequest(actionMap);
});

exps.listen((process.env.PORT || 7001), function() {
    console.log("App up and running, listening.")
})

每当我在模拟器中测试时,响应是:

{Action name}现在没有响应。请尽快重试。

每当我使用上面的命令进行更新时,我会在我的Web服务中看到一个请求。但是当我尝试在模拟器中测试动作时,我看不到任何请求。

如果有人能指出我正确的方向。在继续之前指出我获得的任何知识。我需要提供更多信息让我知道并感谢。

azure express actions-on-google fulfillment
2个回答
0
投票

对不起,我没有足够的评论,但我们目前正在经历停电,如果你受到影响,你可以在这里看到https://azure.microsoft.com/en-us/status/

enter image description here

您将需要监视Azure状态页以获取进一步的更新。不幸的是,在工程减轻问题之前我们无能为力。


0
投票

有几个潜在的问题:

首先 - 您尚未显示您的package.json文件,但代码建议您使用较旧版本的actions-on-google库。所以代码本身可能没有运行。检查运行时日志以确保它是。

接下来,您已指定它应该在端口7001上侦听,但您在actions.json文件中提供的URL不包括端口号。如果这是它运行的主机和端口,并且您没有提供某种类型的代理,那么您需要将URL指定为https://dialogflowappnc.azurewebsites.net:7001/

此外,如果您在端口7001上运行,您可能还没有打开防火墙来访问它。

但是,您似乎可能正在运行代理(或者您应该),因为您还需要提供具有有效SSL证书的有效HTTPS连接。如果这是自签名证书,则仍可能拒绝连接。

© www.soinside.com 2019 - 2024. All rights reserved.