ETIMEDOUT (Тайм-аут соединения) и статус: 0 с Tomcat9 при вызове REST к внутреннему API с мобильного телефона - PullRequest
0 голосов
/ 09 января 2020

Доброе утро всем. Здесь я новичок как пользователь, но, очевидно, я прочитал много дискуссий, которые помогли мне решить множество проблем. Что ж, теперь я пытаюсь помочь коллеге заставить наше мобильное приложение работать. Я уже ищу подобные проблемы, но не могу решить с ними, и на самом деле они не такая же странная проблема, как эта. Мы разрабатываем интерфейсную часть корпоративного приложения, в которой уже есть фоновая часть и части базы данных, частично реализованные в Java (извините за мой плохой английский sh). Мы закончили писать внутренний код, который все еще был неполным, и теперь мы реализуем весь вызов REST от внешнего интерфейса (написанного в javascript и использующего некоторые функции Angular 8 framework) к внутреннему API из мобильного приложения (на данный момент передняя часть предназначена для android и iOS, мы используем NativeScript SideKick для генерации приложения (на самом деле я не знаю, что именно NativeScript SideKick делает точно, я думаю, что он эмулирует развертывание приложения на мобильном телефоне.) Ни у кого из нас не было больших проблем с этим, но мой коллега не может делать эти вызовы. Проблема в том, что сервер (Tomcat 9.0.26) выдает ошибку со статусом = В качестве ответа 0. Здесь строка ошибки:

{
JS:   "headers": {
JS:     "normalizedNames": {},
JS:     "lazyUpdate": null,
JS:     "headers": {}
JS:   },
JS:   "status": 0,
JS:   "statusText": "Unknown Error",
JS:   "url": "http://192.168.7.184:8080/pfm.api/api/v1/savingGoal/?userKey=INT-0000000099895337",
JS:   "ok": false,
JS:   "name": "HttpErrorResponse",
JS:   "message": "Http failure response for http://192.168.7.184:8080/pfm.api/api/v1/savingGoal/?userKey=INT-0000000099895337: 0 Unknown Error",
JS:   "error": {
JS:     "originalStack": "Error: java.net.ConnectException: failed to connect to /192.168.7.184 (port 8080): connect failed: ETIMEDOUT (Connection timed out)\n    at new ZoneAwareError (file:///data/data/org.nativescript.blankng/files/app/vendor.js:91441:33)\n    at onRequestComplete (file:///data/data/org.nativescript.blankng/files/app/vendor.js:97716:34)\n    at Object.onComplete (file:///node_modules\@nativescript\core\http\http-request\http-request.js:43:0)"
JS:   }
JS: }

Странно то, что если мой коллега записывает мой IP-адрес (мы все подключены к одной локальной сети нашего рабочего места) или другой IP-адрес сотрудника (все 192.168.1.xxx) для подключения к моему серверу или к серверу другого сотрудника (все Tomcat 9) у нее вообще нет проблем. Если она проверяет эти REST звонки с использованием Postman 7.10 и подключения к ее серверу у нее не проблема. Так что это не проблема внутреннего кода и не кажется, сам сервер. Но если кто-либо из моих коллег или я запишем ее IP-адрес, чтобы попытаться подключиться к ее серверу с помощью мобильного телефона (потому что с помощью Почтальона мы не обнаружим никаких проблем), у нас возникнут те же проблемы. Мы уже пытались удвоить или утроить тайм-аут сервера (я имею в виду файл server. xml). У нас все еще есть та же проблема, она возникает позже, чем раньше ... Я думаю, что проблема в некоторых конфигурациях или настройках, которые блокируют связь между мобильным телефоном и внутренним API, но я понятия не имею, что это может быть, и я не смог найти что-то, что действительно соответствовало бы нашей указанной c проблеме. Мы младшие, и мы тратим много времени на это. Мобильные телефоны подключены к сети Wi-Fi (то же самое из локальной сети), в то время как компьютеры подключены к локальной сети. Дополнительная информация: мы используем windows 10, eclipse enterprise edition 2019-06. Надеюсь, я ничего не пропустил и следовал правилам переполнения стека. Я не ставлю код только потому, что не думаю, что это связано с кодом. Большое спасибо!

...