[OSGeo-Standards] Version parameter missing in WMS 1.3 GetMap request

Jody Garnett jody.garnett at gmail.com
Tue Oct 12 22:47:10 PDT 2021

GeoServer has a strict configuration option to follow the specification
exactly (raising exceptions for incomplete requests such as this one). With
strict turned off GeoServer does its best to be somewhat forgiving of
requests (when a sensible assumption can be made).

The WMS version negotiation is intended to happen with GetCapabilities via
"version number negotiation", it would be sensible to follow the same
pattern if version is neglected from a GetMap request.

> 6.2.4 Version number negotiation
> ...
> If the server does not support the requested version, the server shall
respond with output that conforms to a version it does support, as
determined by the following rules:
> ⎯ If a version unknown to the server and higher than the lowest supported
version is requested, the server shall send the highest version it supports
that is less than the requested version.
> ⎯ If a version lower than any of those known to the server is requested,
then the server shall send the lowest version it supports.
> ⎯ If the client does not support the version sent by the server, it may
either cease communicating with the server or send a new request with a
different version number that the client does support.

Jody Garnett

On Thu, 7 Oct 2021 at 03:29, Dirk Stenger <stenger at lat-lon.de> wrote:

> Hi all,
> We have following problem and are interested in the opinion of other implementers of the WMS 1.3 specification.
> For example, a GetMap request is sent to a deegree service:
> * https://inspire.brandenburg.de/services/ef_sem_wms?BBOX=228152.00000000%2C5690412.00000000%2C493382.00000000%2C5939023.00000000&CRS=EPSG%3A25833&FORMAT=image%2Fpng&HEIGHT=500&LAYERS=EF.EnvironmentalMonitoringProgrammes&REQUEST=GetMap&SERVICE=WMS&STYLES=EF.EnvironmentalMonitoringProgrammes.Default.Point&WIDTH=500
> A map is returned instead of an exception.
> Reading the specification (OGC® 06-042) this is a bug in the software implementation as version is a mandatory parameter.
> However, it is not 100% clear what exception type shall be thrown as the service does not know what WMS version is requested (WMS 1.3 has its own exception schema).
> In addition, we should be aware that some clients may omit the version parameter in a GetMap request.
> So, a fix of this behavior might break the compatibility with some clients.
> As far as we see, GeoServer also ignores a missing version.
> How do you handle such cases?
> How do you determine what exception shall be thrown if, for example, the version parameter is missing?
> Is the compatibility to the specification or to actual implementations of clients more important?
> We are looking forward to your thoughts about this issue and appreciate any help.
> Kind regards,
> Dirk Stenger
> _______________________________________________
> Standards mailing list
> Standards at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/standards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/standards/attachments/20211012/981b8784/attachment.html>

More information about the Standards mailing list