Сервер трекинга ходит по другой ссылке
Точно сервер ходит по этой ссылке а не веб приложение?
Ссылку генерирует веб приложение, но код клиента находится на сервере. Получается, что не берутся параметры конфигурации ( в части декодирования координат).
Это видно по входным параметрам. Используется latitude, а nominatim использует lat.
Я в настройках писал не валидные данные и все нормально. Может я не туда их пишу ?
P.S.
Я с большим трудом поднял сервер Nominatim и загрузил базу России и остался последний штрих.
Ищем причину. Код ошибки на этот запрос 404.
В настройках я указал не валидный адрес сервера геокодирования и все равно 404. Значит до запроса на сервер не доходит.
Где у вас 404 получается? Что ещё в ответе от сервера?
Запрос
http://tracker.secrieru.ru:60000/api/server/geocode?latitude=55.9073533&longitude=37.7883799
Ответ
400 Bad Request
Connection refused - ConnectException (... < JsonGeocoder:126 < ServerResource:123 < ... < OverrideFilter:50 < ...)
И где 404?
Теперь другая и поинтересней. Сделано согласно документации.
2023-08-08 09:30:10 TRACE: simple execute, handler={0}, maxRows={1}, fetchSize={2}, flags={3}
2023-08-08 09:30:10 TRACE: FE=> Parse(stmt=null,query="SELECT * FROM tc_users WHERE id = $1",oids={20})
2023-08-08 09:30:10 TRACE: FE=> Bind(stmt=null,portal=null,$1=<1>,type=INT8)
2023-08-08 09:30:10 TRACE: FE=> Describe(portal={0})
2023-08-08 09:30:10 TRACE: FE=> Execute(portal={0},limit={1})
2023-08-08 09:30:10 TRACE: FE=> Sync
2023-08-08 09:30:10 TRACE: <=BE ParseComplete [{0}]
2023-08-08 09:30:10 TRACE: <=BE BindComplete [{0}]
2023-08-08 09:30:10 TRACE: <=BE RowDescription({0})
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: {0}
2023-08-08 09:30:10 TRACE: <=BE DataRow(len={0})
2023-08-08 09:30:10 TRACE: <=BE CommandStatus({0})
2023-08-08 09:30:10 TRACE: <=BE ReadyForQuery({0})
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getDouble columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getDouble columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getInt columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getInt columnIndex: {0}
2023-08-08 09:30:10 TRACE: getInt columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getBoolean columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getString columnIndex: {0}
2023-08-08 09:30:10 TRACE: getLong columnIndex: {0}
2023-08-08 09:30:10 TRACE: [DEBUG] Released scope instance {0} on thread {1}
2023-08-08 09:30:10 DEBUG: Starting mapping of the exception. - Connection refused - ConnectException (... < JsonGeocoder:126 < ServerResource:123 < ... < OverrideFilter:50 < ...)
2023-08-08 09:30:10 DEBUG: Exception 'java.net.ConnectException: Connection refused' has been mapped by 'org.traccar.api.ResourceErrorHandler' to response 'Bad Request' (400:CLIENT_ERROR).
2023-08-08 09:30:10 TRACE: [DEBUG] Released scope instance {0} on thread {1}
2023-08-08 09:30:10 DEBUG: write(array HeapByteBuffer@23715736[p=0,l=115,c=115,r=115]={<<<Connection refused - Conn...verrideFilter:50 < ...)>>>})
2023-08-08 09:30:10 DEBUG: write(array) s=CLOSING,api=BLOCKED,sc=false,e=null last=true agg=false flush=true async=false, len=115 null
2023-08-08 09:30:10 DEBUG: sendResponse info=null content=HeapByteBuffer@515982e1[p=0,l=115,c=115,r=115]={<<<Connection refused - Conn...verrideFilter:50 < ...)>>>} complete=true committing=true callback=Blocker@378c5bd{null}
2023-08-08 09:30:10 DEBUG: COMMIT for /api/server/geocode on HttpChannelOverHttp@b44baa6{s=HttpChannelState@f7b2f16{s=HANDLING rs=BLOCKING os=COMMITTED is=IDLE awp=false se=false i=true al=0},r=2,c=false/false,a=HANDLING,uri=http://tracker.secrieru.ru:60000/api/server/geocode?latitude=55.9073666&longitude=37.7883,age=150}
400 null HTTP/1.1
Оказалось, что в настройках сервера геокодирования нельзя задать другой порт.
Ошибается на запросе
2023-08-08 18:41:53 DEBUG: COMMIT for /api/server/geocode on HttpChannelOverHttp@7c49ceff{s=HttpChannelState@4694c5c{s=HANDLING rs=BLOCKING os=COMMITTED is=IDLE awp=false se=false i=true al=0},r=3,c=false/false,a=HANDLING,uri=http://192.168.0.234:60000/api/server/geocode?latitude=55.9187933&longitude=37.8623033,age=105}
Тут верно &longitude=37.8623033,age=105
?
Сервер позволяет на одном компьютере держать traccar и nominatim ?
<entry key='geocoder.url'>http://geocoder.secrieru.ru:[порт отличный от порта сервера traccar]/reverse</entry>
Почему нет?
Логи не информативные. Не видно на какой сервер идут запросы. Только внутренний запрос.
Побороть код 400 никак не получается.
2023-08-09 09:01:02 DEBUG: COMMIT for /api/server/geocode on HttpChannelOverHttp@70920359{s=HttpChannelState@2b77775{s=HANDLING rs=BLOCKING os=COMMITTED is=IDLE awp=false se=false i=true al=0},r=1,c=false/false,a=HANDLING,uri=http://tracker.secrieru.ru:60000/api/server/geocode?latitude=55.9074466&longitude=37.788455,age=111}
400 null HTTP/1.1
То что пишет браузер - SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Сервер трекинга расположен на домене tracker.my.ru:5555
Есть сервер
geocoder.my.ru:4444
(он рабочий).В сервере трекинга прописан
geocoder.my.ru:4444
и тип nominatim<entry key='geocoder.enable'>true</entry> <entry key='geocoder.type'>nominatim</entry> <entry key='geocoder.url'>http://geocoder.my.ru:4444/reverse.php</entry>
Сервер трекинга ходит по другой ссылке
А нужно