ArcGIS Server 10.1 - Niespójne błędy zapytań

9

Niedawno zaktualizowałem do ArcGIS Server 10.1 SP1. Od czasu przełączenia otrzymuję wiele niespójnych błędów, w szczególności wykonując zapytania dotyczące interfejsu API REST usługi mapowej za pomocą interfejsu API JavaScript.

Mówię niekonsekwentnie, ponieważ identyczne zapytanie czasami działa, a innym razem pojawia się błąd „nie można ukończyć operacji”. Zapytania są niezwykle proste, na przykład klauzula where to „COUNTRY_ID = 2”, i jestem pewien, że nie jest to klauzula where, ponieważ zawsze działała ona z ArcGIS Server 10.0.

Testowanie zapytania na stronie REST bezpośrednio z katalogu services daje ten sam wynik. Mój wynik zmienia się na sukces i błąd - zapytanie 1: sukces, zapytanie 2: błąd, zapytanie 3: sukces, zapytanie 4: błąd.

Czy ktoś doświadczył czegoś podobnego?

AKTUALIZACJA: Z informacji znalezionych w tym poście wynika, że ​​wysyłanie żądań POST rozwiązuje moje problemy.

użytkownik890
źródło

Odpowiedzi:

6

Absolutnie trafiłeś w irytujący błąd NIM086349 w 10.1, że kiedy wydajesz dokładnie to samo żądanie GET / QueryTask do ArcGIS Server, nie powiedzie się to przy alternatywnych żądaniach. Wygląda na to, że zostało to naprawione w dodatku SP2. Zwrócił na to uwagę Derek Swingley, który pracuje dla Esri. NIM086349 http://forums.arcgis.com/threads/72894-Etags-and-Intermittent-QueryTask-Server-Errors

awesomo
źródło
Dzięki za link. Wygląda na to, że dość cholernie duży błąd, który
puszcza
Zgadzam się - nie wiem, jak to przeoczyło w swoich testach. Jako programista wszystko, co robię, to ciągle testuję te same dane - można by pomyśleć, że zauważą, że każde inne zapytanie nie powiodło się. To powiedziawszy, jeśli masz zautomatyzowane testy, które nie przechowują pamięci podręcznej lub nie usuwają pamięci podręcznej przed każdym uruchomieniem, może to wyjaśnić, ponieważ myślę, że problem dotyczy w rzeczywistości ETAGS / buforowania przy zamaskowanym żądaniu / odpowiedzi. Interesujące byłoby zobaczyć, co się stanie, jeśli If-None-Match zostanie usunięty z nagłówka i wielokrotnie wysyłany. en.wikipedia.org/wiki/HTTP_ETag
awesomo
Błąd mówi, że został wprowadzony w wersji 10.1 SP1, a nie w wersji 10.1 końcowej. Pojawiła się QFE (łatka), więc jeśli musisz mieć rozwiązanie wcześniejsze niż 10.2 (wcześniej 10.1 SP2), skontaktuj się z pomocą techniczną lub regionalnym dystrybutorem.
mkennedy
Nie widzę opublikowanej konkretnej łatki do tego - czy mówisz, że możesz zadzwonić do pomocy technicznej, a wyślą ci ją? support.esri.com/en/downloads/patches-servicepacks/…
awesomo
Jak zdobyć ArcGIS 10.1 SP2? jakikolwiek link? może skontaktować się z centrum wsparcia?
KDot1254
1

Proszę odnieść się do następującego linku: Zasugerowali obejście.

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

Pozdrawiam BinnyN

BinnyN
źródło
1
Cześć! Witamy w GIS.se! Nie jestem pewien przydatności twojej odpowiedzi. Obejście, które opublikowałeś, jest już obecne w wątku forum, do którego link znajduje się w zaakceptowanej odpowiedzi. Czy coś brakuje? Czy w Twojej odpowiedzi jest coś nowego?
Devdatta Tengshe,
0

Opcja 1:

Spróbuj ponownie opublikować usługę. Wystąpił ten błąd podczas kopiowania nowego pliku mxd na serwer bez jego publikowania.

Opcja 2:

Wypróbuj unikalne obejście znacznika czasu, do którego odwołuje się BinnyN. Poniżej znajduje się kod:

var uniqueTimestamp = (new Date()).getTime();    
query.where += " AND " + uniqueTimestamp + "=" + dirty;
James Lawruk
źródło
0

Po przejściu do magazynu geometrii SDEBINARY z SQL Geometry na SQL Server 2012 problem zniknął dla mnie. Mam nadzieję, że ktoś uzna to za przydatne!

Benedek Simo
źródło