-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Supporting mapml-proxy cascading #374
Conversation
I have successfully used this branch with the CFS CWFIS WMS (GeoServer!), and I found it works well in Remote request mode, except the remote GetFeatureInfo request balks at including of a blank e.g. the following template when filled out gives rise to an example query such as: I find that if I edit the above URL and remove the cql_filter parameter entirely, it works ok: Maybe this is actually a bug in GeoServer cql_filter handling? Anyway, I will see if there are other cases I come across. |
e8682ee
to
3757ce1
Compare
PR updated with WMTS tests and getFeatureInfo with empty cql_filter being properly handled. |
667ac05
to
043a482
Compare
Just returning to playing with this, and maybe it's something odd about the remote WMS, but I can't get it to proxy correctly, it always seems to truncate the "_en" from the remote URL. The remote WMS capabilities is here The remote layer name to proxy is "WMS-Toporama", which is like a layer group afaict on the remote wms. The client proxy always comes back with a 404, because it uses an incorrect URL in the tref attribute of the <map-link>: Edit: Something similar seems to happen with this WMS - i.e. the base URL gets truncated and substituted with |
src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLRequestMangler.java
Outdated
Show resolved
Hide resolved
Ideally, creation (at all) of the <map-link rel="query"> would be conditional on if the remote layer is queryable. IIRC GeoServer itself can cascade remote queries if the remote WMS supports some flavour of GML. Maybe we could change that when the Remote proxy option for MapML is selected, to |
a4dd6c4
to
2ce617f
Compare
2ce617f
to
d6ddac6
Compare
I have updated the code so that it won't generate the query link if the remote server has none of these format supported. |
I get this message: <ServiceExceptionReport xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.3.0" xsi:schemaLocation="http://www.opengis.net/ogc http://localhost:8080/geoserver/schemas/wms/1.3.0/exceptions_1_3_0.xsd">
<ServiceException> java.lang.NullPointerException: Cannot invoke "org.geotools.data.ows.OperationType.getFormats()" because "getFeatureInfo" is null Cannot invoke "org.geotools.data.ows.OperationType.getFormats()" because "getFeatureInfo" is null </ServiceException>
</ServiceExceptionReport> when using the pdi (Layer 0) from this WMS https://agriculture.canada.ca/atlas/services/app_agclimate_agclimat/agclimate_pdi/ImageServer/WMSServer/?request=GetCapabilities&service=WMS Edit: note I am reprojecting the remote wms from what it advertises to MapML:OSMTILE / EPSG:3857. That may be the issue, will verify. Update: sure enough, when I use the native advertised CRS 84 and map it to MapML:WGS84, layer works / does not send that exception |
Works well for MapML:CBMTILE with this WMS however. Probably due to the quality of the remote WMS, https://cwfis.cfs.nrcan.gc.ca/geoserver/public/wms?service=WMS&version=1.3.0&request=GetCapabilities |
Fixed the NPE on missing GetFeatureInfo from remote capabilities document |
confirmed, thank you. |
Closing this in favor of the official PR: |
PR supporting MapML proxy.
Checklist
main
branch (backports managed later; ignore for branch specific issues).For core and extension modules:
[GEOS-XYZWV] Title of the Jira ticket
.