Я пытаюсь получить ответ о выполнении из Dialogflow, используя функции Java Azure, всякий раз, когда остальной клиент Dialogflow вызывает функцию Azure, он выдает ошибку-
Не удалось вызвать Webhook. Ошибка: не удалось выполнить синтаксический анализ ответа JSON webhook: ожидается объект сообщения, но получено: "䌀 ─㈀㈀ 昀 甀 氀 昀 椀 氀 氀 洀 攀 渀 琀 䴀 攀 猀 猀 愀 最 攀 猀 ─㈀㈀─㌀ 䄀 ⬀─ 㔀 䈀 ─ 㔀 䐀 ─㈀ 䌀 ─㈀㈀ 猀 漀 甀 爀 挀 攀 ─㈀ ㈀─㌀ 䄀 ⬀ 渀 甀 氀 氀 ─㈀ 䌀 ─㈀㈀ 瀀 愀 礀 氀 漀 愀 搀 ─㈀㈀─㌀ 䄀 ⬀─ 㜀 䈀 ─㈀㈀ 最 漀 漀 最 氀 攀 ─㈀㈀─㌀ 䄀 ⬀─ 㜀䈀 ─㈀㈀ 攀 砀 瀀 攀 挀 琀 唀 猀 攀 爀 刀 攀 猀 瀀 漀 渀 猀 攀 ─㈀㈀─㌀ 䄀 ⬀ 昀 愀 氀 猀 攀 ─㈀ 䌀 ─㈀㈀ 甀 猀 攀 爀 匀
Мне удалось найти несколько ссылок, чтобы найти решение, но ничего не помогло, вот ссылки, которые я нашел-
- Не удалось вызвать Webhook. Ошибка: не удалось проанализировать ответ JSON webhook: ожидается объект сообщения, но получено: [китайские буквы]
- https://github.com/dialogflow/dialogflow-fulfillment-nodejs/issues/197
- https://productforums.google.com/forum/#!msg/dialogflow/QVmOFwXXuOU/CAEv1MgQAgAJ;context-place=forum/dialogflow
- Функция Azure отправляет фрагментированный ответ, а Dialogflow не обрабатывает его
- https://github.com/googleapis/google-cloud-dotnet/issues/2258
- Ответ Webhook Dialogflow c # выдает ошибку при вызове
В приведенных выше двух последних ссылках есть решение в dotnet, но не в Java.
Я также пытался вернуть String и Json Object, но ничего не получилось.
Ниже приведен Java-код функции Azure, который я использовал -
@FunctionName("TriggerStringPost")
public HttpResponseMessage run(
@HttpTrigger(name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
// Check request body
if (!request.getBody().isPresent()) {
return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
.body("Document not found.")
.build();
}
else {
// return JSON from to the client
// Generate document
final String body = request.getBody().get();
final String jsonDocument = "{\"id\":\"123456\", " +
"\"description\": \"" + body + "\"}";
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(jsonDocument)
.build();
}
}
Пожалуйста, помогите мне найти решение для этого, спасибо.