Query on Cached service with Lookup table
Hi All
I have a cached service of a vegetation layer, with a joined look up table. If I use the viewer internally and query on a field it returns values successfully. However when the same query is appllied, ussing the same viewer, externally it fails to show anything and the query panel displays 'An unknown error has occured'. In fact when you click in the text box, suggested records appear in the floating box and do filter down as you type, so its obvioulsy reading the layer ok. If you turn on the layer and do an identify, the fields from the joined table are displayed ... so they are visible. I cant work out why its failing externally to return anything through a query.
The attached table and join fields have attribute indexes applied also.
Just to add that there are other cached services in this site that can be queried sucessfully when viewing externally.
If someone could shed some light on this, it would be greatly appeciated. I have included the link to our site below and the layer in question is SA Vegetation.
http://spatialwebapps.environment.sa.gov.au/naturemaps/?locale=en-us&viewer=naturemaps
0
-
I would talk to your network administrators about it. Sounds like some sort of network config blocking the queries from external sources. When I try it, Fiddler shows the query requests getting rejected (even when running it from the services REST endpoint and not the viewer). Also seems to be all your layers, not just SA Vegetation. 0 -
Thanks Dan
What I have found out is that its to do with the LIKE expression and the % wildcard is a blacklisted character by the F5 confirguration. The Network managers wont change this policy as far as the policy is concerned it looks like a "SQL Injection" attack. Therfore, any LIKE comparison wont get past out DMZ-e front end.
They did suggest a work around by rewriting the query using an Orcale regular expression to return the same result:
eg where=(LOWER(HUNDRED) LIKE LOWER('%APPILA%')) is rewritten as where=REGEXP_LIKE(LOWER(HUNDRED), LOWER('APPILA'))
Is this even possible to do in Geocortex???
My other option is just to remove the contains and does not contain options from the Query options.0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
2 Kommentare