ArcGIS Server 10.1 - Несогласованные запросы ошибок

9

Я недавно обновился до ArcGIS Server 10.1 SP1. После внесения изменений я получаю много противоречивых ошибок, в частности выполнение запросов к REST API картографического сервиса с помощью API Javascript.

Я говорю «непоследовательный», потому что один и тот же запрос иногда будет работать, а в других случаях я получаю ошибку «невозможно завершить операцию». Запросы чрезвычайно просты, например, условие where равно «COUNTRY_ID = 2», и я уверен, что это не предложение where, потому что оно всегда работало, исходя из ArcGIS Server 10.0.

Тестирование запроса на странице REST непосредственно из каталога сервисов дает тот же результат. Мой результат чередуется между успехом и ошибкой - запрос 1: успех, запрос 2: ошибка, запрос 3: успех, запрос 4: ошибка.

Кто-нибудь испытывал нечто подобное?

ОБНОВЛЕНИЕ: Из информации, которую я нашел в этом посте, я обнаружил, что выполнение запросов POST решает мои проблемы.

user890
источник

Ответы:

6

Безусловно, вы столкнулись с досадной ошибкой NIM086349 в 10.1, которая заключается в том, что когда вы отправляете точно такой же запрос GET / QueryTask для ArcGIS Server, он завершается ошибкой при альтернативных запросах. Похоже, это исправлено для SP2. @Derek Swingley, который работает на Esri, указал на это. NIM086349 http://forums.arcgis.com/threads/72894-Etags-and-Intermittent-QueryTask-Server-Errors

шикарн-о
источник
Спасибо за ссылку. Похоже, чертовски большая ошибка, которую нужно выпустить до SP2 ...
user890
Я согласен - я не знаю, как это было пропущено в их тестировании. Как разработчик, все, что я делаю, это проверяю одни и те же данные снова и снова - можно подумать, что они заметят, что каждый другой запрос не выполняется. Тем не менее, если у вас есть автоматические тесты, которые не сохраняют кэш или не очищают кэш перед каждым запуском, это может быть объяснено, потому что я думаю, что проблема на самом деле связана с ETAGS / кэшированием на запросе / ответе, который был засорен. Было бы интересно посмотреть, что произойдет, если If-None-Match будет удален из заголовка и повторно отправлен. en.wikipedia.org/wiki/HTTP_ETag
awesomo
Ошибка говорит о том, что она была введена в 10.1 SP1, а не в 10.1 финальной. Был QFE (патч), поэтому, если вам нужно решение раньше, чем 10.2 (ранее 10.1 SP2), обратитесь в службу технической поддержки или к вашему региональному дистрибьютору.
mkennedy
Я не вижу специального патча для этого - вы говорите, что можете позвонить в службу поддержки, и вам его отправят? support.esri.com/en/downloads/patches-servicepacks/…
awesomo
Как получить ArcGIS 10.1 SP2? любая ссылка? возможно, обратитесь в службу поддержки?
KDot1254
1

Пожалуйста, обратитесь по следующей ссылке: Они предложили обходной путь.

http://forums.arcgis.com/threads/73456-new-problem-REST-query-10.1-every-other-request-fails-(400-unable-to-complete-oper)

С уважением BinnyN

BinnyN
источник
1
Привет! Добро пожаловать на GIS.se! Я не уверен в полезности вашего ответа. Обходной путь, который вы опубликовали, уже присутствует в ветке форума, связанной в принятом ответе. Я что-то пропустил? Есть ли что-то новое в вашем ответе?
Девдатта Тенгше
0

Опция 1:

Попробуйте переиздать сервис. Я столкнулся с этой ошибкой при копировании нового mxd-файла на сервер без его публикации.

Вариант 2:

Попробуйте уникальное временное решение, которое уже упоминалось в BinnyN. Ниже приведен код:

var uniqueTimestamp = (new Date()).getTime();    
query.where += " AND " + uniqueTimestamp + "=" + dirty;
Джеймс Лаврук
источник
0

После перехода к хранилищу SDEBINARY для геометрии с SQL Geometry на SQL Server 2012 проблема исчезла для меня. Надеюсь, кто-то найдет это полезным!

Бенедек Симо
источник