I try to cascade WMS that is published by different mapping server(Bentley GeoWebPublisher) in epsg:2320 to WMS service as epsg:4326 using GeoServer.

I selected epsg:2320 as "Native SRS". I tried epsg:2320 for "Declared SRS" and requesting the layer from client (to say QGIS and Leaflet) with epsg:4326 hoping that GeoServer will make necessary on the fly transformation based on the request's SRS code. I keep getting "Invalid SRS specified." As an alternative solution I tried to declare "Native SRS" as epsg:2320 and "Declared SRS" as 4326 with options "Force declared","Reproject from native". All alternatives resulted with same error-"Invalid srs specified."

Is it wrong to expect on the fly transformation from GeoServer?

As an additional information, source WMS is provided only as epsg:2320.

  • 1
    It should work with native=2320, declared=2320 and SRS handling=Force declared. If the remote WMS does not support EPSG:4326 that you require from QGIS then GeoServer should know to use EPSG:2320 for the remote server. Does other layers from your GeoServer-WMS work with QGIS as EPSG:4326?
    – user30184
    Mar 26, 2018 at 8:20
  • Other layers are displayed as expected. For example ecw file that is stored as 2320 is published using Geoserver and it can be viewed in 4326. Mar 26, 2018 at 8:25
  • 1
    turn logging up and check the log file for errors
    – Ian Turton
    Mar 26, 2018 at 8:27
  • Checking the log helped. It shows that geoserver is making requests to the source wms server in 4326. Since source serves only in 2320, request fails. No matter which option I select for Declared SRS, all requests are made to epsg:4326. Mar 26, 2018 at 8:36
  • 1
    Is it sure that the remote server does not include EPSG:4326 as supported SRS/CRS in GetCapabilities which would fool GeoServer? Tell also the version of your GeoSever.
    – user30184
    Mar 26, 2018 at 8:39

1 Answer 1


Solved: problem is partially related with Geoserver. Source wms layer is served as part of GroupLayer which does not have any srs definition.Like this(part of the GetCapabilities):

<Extent cs="EPSG:2320" xmin="416911.542326771" ymin="4461374.05602165" xmax="429309.033750592" ymax="4470687.50891348" usemapextent="0"/>

I guess that without srs definiton for layer group things get messed up and Geoserver starts to make request in 4326.

When we moved source layer outside of layer group requests started to go as 2320 to the source server. New GetCapabilities contains same layer as (part of the GetCapabilities):

<Extent cs="EPSG:2320" xmin="416911.4092" ymin="4461373.956" xmax="429308.8587" ymax="4470687.3008" usemapextent="0"/>

In this configuration, source layer is under <Layers>, not <GroupLayer>.

In case of similar error, source configuration can be checked.

  • 1
    Hum... in a compliant GetCapabilties response there is no <GroupLayer> element either, a group of layers is expressed as a <Layer> containing other <Layer> objects. Mar 26, 2018 at 12:53
  • Probably it is vendor specific option of Bentley's GeoWebPublisher. We try to plublish .dgn files. Mar 26, 2018 at 12:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.