Действия хоста в приложении Google с диалоговым потоком с использованием узла JS на самом размещенном HTTPS-сервере (MalformedResponse: ошибка Webhook (206)) - PullRequest
0 голосов
/ 29 мая 2019

Я создал одно приложение в действиях на Google с диалоговым потоком, используя nodejs. Сначала он был размещен на сервере heroku, но теперь я хочу разместить его на своем сервере с https.

он работает правильно на сервере heroku, но не работает на моем сервере. Возвращает ошибку «MalformedResponse: Ошибка Webhook (206)»

const express = require('express');
const bodyParser = require('body-parser');
var https = require('https');
var fs = require('fs');
const {
  dialogflow,
} = require('actions-on-google');

const app = dialogflow();
const expressApp = express().use(bodyParser.json());

// degault welcome intent on startup
app.intent('Default Welcome Intent', conv => {  
    conv.ask('Hi, Ask me about Customer Ledger, Outstanding....');
});

app.intent('Default Fallback Intent', conv => {
  conv.ask('I didnt understand. Can you tell me something else?');
});


var options = {
  key: fs.readFileSync('ssl/office.key'),
  cert: fs.readFileSync('ssl/office.crt')
};

var server = https.createServer(options, expressApp).listen(3000, function(){
    //express().use(bodyParser.json(), app);
    expressApp.post('/fulfillment', app);
  console.log("Express server listening on port 3000" );
});

Может кто-нибудь подсказать, в чем проблема с моим кодом? Скриншот симулятора

1 Ответ

0 голосов
/ 29 мая 2019

Если вы используете экспресс, и между ними нет другого уровня (как у Heroku) для пересылки запросов с порта 443 на 3000, запрос может не достигать целевого порта

...