We are building a TerriaJS application that should be making OGC WMS requests to our GeoServer through a proxy we have developed. TerriaJS successfully makes a GetCapabilities call to our GeoServer as seen:
This returns back fine and the data layers are loaded into Terria. Once, I click on a layer from the TerriaJS app, it launches a DescribeLayer request as such:
This request goes fine to the GeoServer, but the error seems to be what is being returned back to the TerriaJS application from this DescribeLayer call which returns:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE WMS_DescribeLayerResponse SYSTEM "https://www.TERRIA-APP.co.uk/v1/wms?/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd"> <WMS_DescribeLayerResponse version="1.1.1"> <LayerDescription name="LAYER-GROUP:LAYER" wfs="https://www.TERRIA-APP.co.uk/v1/wms?/wfs&" owsURL="https://www.TERRIA-APP.co.uk/v1/wms?/wfs&" owsType="WFS"> <Query typeName="LAYER-GROUP:LAYER"/> </LayerDescription> </WMS_DescribeLayerResponse>
This URL doesn't make sense and is what seems to be causing the error:
So my confusions here:
- Why is the DescribeLayer returning a WFS URL when I'm specifically asking for WMS. Also, WFS is turned off in the GeoServer so why is it assuming WFS?
- Is it TerriaJS or GeoServer that is appending the /wfs& after the path?
- We have used this GeoServer proxy with other applications such as : OpenLayers, QGIS and ESRI Web App Builder without any problems, so what's different with TerriaJS?
- Why does a GetMap Request never launch from the TerriaApp (I can see in the network tab that there is only DescribeLayers and GetLegendGraphic which both run successfully. So we can never actually see anything on the map?