Вызов Wix fetch в бэкэнде получает ошибку «тайм-аут через 14 секунд»

При использовании запроса на выборку через серверный код я получаю ["Время ожидания запроса WebMethod истекло через 14 секунд... Вы забыли выполнить обещание?"] . Когда я запускаю точно такой же код на внешнем интерфейсе, он прекрасно обрабатывает запрос и обновляет мой сторонний ресурс, как и ожидалось, за 1 секунду. Что может привести к истечению времени ожидания запроса в 14 секунд и как мне это исправить?

Я использовал документацию API Wix, а также эту статью для использования выборки в качестве внутреннего кода: -fetch-api" rel="nofollow noreferrer">https://support.wix.com/en/article/corvid-accessing-first-party-services-with-the-fetch-api

Внутренний код:

export function sendRequest() {
 let url = "https://www.some.com/url";

 return fetch(url, {
            method: 'post',
            mode: 'no-cors',
            headers: {
 "Content-Type": "application/json"
            },
            body: JSON.stringify({"token": "someToken", "secret": "someSecret", "programID": "someID", "body": "someAES"})
        })
        .then(response => console.log(response.status))
}

Внешний код:

import * as process from 'backend/newprocess';

export function exportPart(event) {
    console.log("Sending request")
    process.sendRequest()
    .then(result => {console.log("It worked bruh!")})
}

Запустив внутренний код в качестве внешнего кода, он работает отлично и обновляет мой внешний ресурс, как и ожидалось, менее чем за 1 секунду. Я ожидаю, что бэкэнд-вызов будет примерно таким же, но вместо этого он истечет время ожидания и зарегистрирует ошибку "["Время ожидания запроса WebMethod истекло через 14 секунд... Вы забыли выполнить обещание?"]". Я также попытался добавить .catch() после обоих .then(), и результат дает мне ответ .catch() вместо 14 секунд.


person Jonathan Kealoha Manoa    schedule 10.08.2019    source источник
comment
Пожалуйста, воздержитесь от использования РЕШЕНО в заголовке и других эквивалентных фраз. См. мета .stackexchange.com/questions/31809/ для получения дополнительной информации.   -  person    schedule 13.08.2019


Ответы (1)


Эта проблема была решена путем понимания того, откуда исходит вызов wix-fetch. Я попал на локальный сервер, который у меня работает на Raspberry Pi. Поскольку он имеет самоназначаемый сертификат, по умолчанию он помечается браузерами и серверами при попытке подключения как представляющий угрозу безопасности. Решение касалось моего API на моем экземпляре AWS, который обрабатывает и выдает сертификаты ЦС и, следовательно, был действительным, и теперь выборка успешно разрешается из серверной части.

Мораль истории: внутренние вызовы выборки должны выполняться на конечные точки сертификата, не назначенные самостоятельно, иначе время ожидания истечет.

person Jonathan Kealoha Manoa    schedule 13.08.2019