id.geologyidea.com
Lebih

GetFeature melempar pengecualian IndexOutOfBounds

GetFeature melempar pengecualian IndexOutOfBounds


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


Saya dapat menjalankan kueri seperti ini menggunakan WFS 1.0.0 dan 1.1.0 (responsnya sedikit berbeda). Tapi, mengapa saya mendapatkan pengecualian IndexOutOfBounds ketika saya mencoba dengan WFS 2.0.0?

http://localhost:8080/geoserver/tiger/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tiger:poi&maxFeatures=2&filter=NAMAsalmon asap

Dengan melihat bagian B.8 Contoh KVP dalam standar WFS 2.0, permintaan Anda sebagian besar benar. Menurut contoh semuanya harus tertutup di dalam "Filter" tetapi Geoserver menerima filter bahkan tanpa itu.

FILTER=InWaterA_1M/wkbGeom 10 1020 20

Alasan untuk masalah ini adalah bahwa GeoServer ingin memenuhi syarat bahwa "Filter" sebenarnya berarti "fes:Filter seperti yang tertulis dalam standar WFS 2.0:

Ekspresi predikat yang disandikan XML harus dikodekan menggunakan elemen fes:Filter seperti yang dijelaskan dalam ISO 19143:2010, subklausul 7.2.

Anda dapat membuat filter berfungsi dengan menentukan namespace Filter dalam permintaan:

http://localhost:8080/geoserver/tiger/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=tiger:poi&Count=2&FILTER=%3CFilter%20xmlns=%22http://www.opengis.net/fes/2.0% 22%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3ENAME%3C/PropertyName%3E%3CLiteral%3Elox%3C/Literal%3E%3C/PropertyIsEqualTo%3E%3C/Filter%3E

Saya tidak bisa mengatakan apakah GeoServer benar atau salah. Standar mengatakan

Agar benar-benar tepat, contoh ini harus menyertakan ruang nama dan informasi lokasi skema di elemen root, fes:Filter

Jadi, GeoServer di sini "sangat benar" tetapi di sisi lain, mungkin perilaku saat ini dapat dianggap sebagai bug.