Облачные сообщения Firebase получают внутреннюю ошибку сервера при вызове "https://fcm.googleapis.com/fcm/send" - PullRequest
0 голосов
/ 28 ноября 2018

Я написал этот код при весенней загрузке (я использую Intellij IDE). В коде androidFcmUrl = "https://fcm.googleapis.com/fcm/send". androidFcmKey = ключ моего сервера. DeviceToken = идентификатор устройства.

@RequestMapping(value = "/pushNotification", method = RequestMethod.GET)
public void pushNotification() {
    try {

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.set("Content-Type","application/json; UTF-8");
        httpHeaders.set("Authorization", "key=" + androidFcmKey);

        JSONObject msg = new JSONObject();
        JSONObject json = new JSONObject();

        msg.put("title", "Title");
        msg.put("body", "Message");
        msg.put("notificationType", "Test");

        json.put("data", msg);
        json.put("notification",msg);
        json.put("to", deviceToken);

        HttpEntity<String> httpEntity = new HttpEntity<>(json.toString(), httpHeaders);
        String response = restTemplate.postForObject(androidFcmUrl, httpEntity, String.class);
        System.out.println(response);

    } catch (JSONException e) {
        e.printStackTrace();
    }

}

Iполучаю внутреннюю ошибку сервера Status 500.

2018-11-28 17: 42: 47.712 ОШИБКА 15292 --- [nio-8088-exec-2] oaccC [. [. [/]. [dispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте с путем [] вызвало исключение [Ошибка обработки запроса; вложенное исключение - org.springframework.web.client.ResourceAccessException: ошибка ввода-вывода при запросе POST для "https://fcm.googleapis.com/fcm/send": Тайм-аут соединения: соединение;Вложенное исключение - java.net.ConnectException: Тайм-аут соединения: соединение] с основной причиной.

Но когда я нажимаю на почтальона API-формы с той же полезной нагрузкой, я получаю ответ об успешном завершении с идентификатором сообщения.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

какое-то время в IDE есть настройка diff conf, а затем инструмент, который вы используете как почтальон.Это похоже только на проблему окружающей среды.Вы можете попробовать запустить приложение через консоль ОС вместо IDE, и вы увидите разницу.

0 голосов
/ 28 ноября 2018

androidFcmUrl, который вы пытаетесь вызвать, может быть недоступен.Убедитесь, что путь правильный и слушает.Также убедитесь, что прокси не прерывает ваш URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...