Hi Andrea,
Ok, I was getting quite confused there for a bit, but I've figured out what's going on now. The WCS specs build on another specification - "OGC Web Services Common Specification" - and *that* is the place they talk about version negotiation. I had assumed because it wasn't specified it just built on the previous version (that being 1.0.0). And you are (of course) correct, they have indeed replaced Version with AcceptVersions. Thanks for the correction!

> WCS 1.0 is probably based on 1.0, WCS 1.1 still probably based on OWS 1.0 but not sure, WCS 2.0 I believe is based on OWS 2.0

If you're curious, WCS 1.0 doesn't seem to be based on any - probably why it declares that stuff explicitly. WCS 1.1 is OWSC 1.0, WCS 1.1.1 and 1.1.2 are OWSC 1.1.1, and of course WCS 2 is OWSC 2. "Fun fun" indeed! :-)

> it's not part of the OGC specifications. As such, it's free to behave as it pleases when you use it.

It's probably me again, but the OWSC subclause D.11 (both version 1.1 and 2.0, (it's subclause C.11 in 1.0)) does seem to cover these scenarios and does have provision for what to do if "version" is set. This seems to be the pertinent part:

"""
A server may also optionally implement the old-style version negotiation mechanism so that old clients that send GetCapabilities requests containing a “version” parameter can be served. If both a “version” and an AcceptVersions parameter exist in a GetCapabilities
request, the server shall ignore the “version” parameter.

a) The old-style version negotiation process using the GetCapabilities operation is as follows: The client initially makes a GetCapabilities operation request identifying the latest version it supports, and then the server responds to GetCapabilities operation
requests:
1) If no version number is specified in the request, the server shall respond with the
highest version it supports.
2) If the version number specified in the request is supported by the server, the
server shall respond with that version.
3) If the version number specified in the request is lower than the lowest version supported by the server, the server shall respond with the lowest version that it
supports.
4) If the version number specified in the request is higher than the lowest version supported by the server, the server shall respond with the highest version it
supports that is lower than the requested version.
"""

So while it's optional, it does seem to be specified what to do if the option is implemented. If I'm reading this right, this scenario falls under item (4).

But yes, this was mostly just a curious aside before I got drawn into the exciting world of OGC standards!

Thanks again!
Jonathan

On 2018-03-30 18:26, Andrea Aime wrote:
Hi Jonathan,
as said above, using "version" in GetCapabilities is a GeoServer vendor extension, it's not part of the OGC specifications.
As such, it's free to behave as it pleases when you use it.

The version negotiation protocol is described in the various OWS documents, each version of a protocol is based on a different version of OWS, e.g., WCS 1.0 is probably based on 1.0, WCS 1.1 still probably based on OWS 1.0 but not sure, WCS 2.0 I believe is based on OWS 2.0 (fun fun):
http://www.opengeospatial.org/standards/common

Go look for "GetCapabilities request KVP encoding" or something similar to find the requested behavior

Cheers
Andrea


On Fri, Mar 30, 2018 at 7:20 PM, Jonathan Moules <jonathan-li...@lightpear.com <mailto:jonathan-li...@lightpear.com>> wrote:

    Hi Andrea,
    Interesting, I'd not come across AcceptBersions before. A quick
    search through the WCS specs (Ctrl-F) indicates it first appears
    in 1.1.0, then the 1.1.1, and 1.1.2, and finally a single
    reference in 2.0.1. However none of them actually seem to explain
    it (they're either UML or XML examples), though I can guess what
    it does.

    I've opened a ticket for it (8670).

    (Incidentally, it's my first ticket using this new portal and I
    have to say - it's a real chore. Absurdly slow page loads, lots of
    login/redirect problems across two browsers, and once logged in
    it's non-obvious how to create a ticket.
    Also, I there was a big friendly "ACCESS DENIED" which may be as a
    result of the link I followed to get there - it's repeatable for
    me if I use the link from here to login -
    https://osgeo-org.atlassian.net/projects/GEOS/summary
    <https://osgeo-org.atlassian.net/projects/GEOS/summary> - the
    sign-up link there has the word "admin" in the URL, so I wonder if
    you're trying to get people to log in to the admin account by
    accident?)

    Thanks,
    Jonathan


    On 2018-03-30 17:33, Andrea Aime wrote:
    Hi Jonathan,
    there migth well be some issue in version negotiation, but the
    parameter to be used normally
    is acceptVersions, not version (version works for any other call
    but GetCapabiltiies, GeoServer still uses it
    in case there is an exact match). That might play a role too.

    Cheers
    Andrea


    On Fri, Mar 30, 2018 at 5:52 PM, Jonathan Moules
    <jonathan-li...@lightpear.com
    <mailto:jonathan-li...@lightpear.com>> wrote:

        Hi List,
            I have a version negotiation question for WCS.

        I'm making GetCapabilities requests to various public boxes
        for WCS version 1.1.2, and GeoServer doesn't seem to support
        this particular version. GeoServer seems to go from 1.1.1,
        then straight to 2.0.1; I guess that's what got funded.

            The odd thing is in this scenario, GeoServer is returning
        the 2.0.1 GetCap. I would have expected the 1.1.1
        GetCapabilities.
            The only WCS spec I can see that discusses version
        negotiation is the WCS 1.0.0 spec. Section 6.2.4 says:

            " If no version number is specified in the request, the
        server must respond with the highest version it understands
        and label the response accordingly."

            Ok, but I *did* specify a version number. My query is
        something like:
        
http://example.com/geoserver/ows?request=GetCapabilities&service=WCS&version=1.1.2
        
<http://example.com/geoserver/ows?request=GetCapabilities&service=WCS&version=1.1.2>

            So these are the negotiation rules in the spec:
            "a) If the server implements the requested version
        number, the server must send that version.

            b) If a version unknown to the server is requested, the
        server must send the highest version it knows that is less
        than the requested version.

            c) If the client request is for a version lower than any
        of those known to the server, then the server must send the
        lowest version it knows.
            [snip]"

            So my question is, which of these rules is triggering? To
        my mind it should be rule (b) - I'm requesting an unknown
        number, so the server should be returning the highest version
        that's *less* than it, so 1.1.1.
            Am I misreading the spec/situation or is this a bug in
        GeoServer's negotiating?
            Cheers,
            Jonathan


        
------------------------------------------------------------------------------
        Check out the vibrant tech community on one of the world's most
        engaging tech sites, Slashdot.org! http://sdm.link/slashdot
        _______________________________________________
        Geoserver-users mailing list

        Please make sure you read the following two resources before
        posting to this list:
        - Earning your support instead of buying it, but Ian Turton:
        http://www.ianturton.com/talks/foss4g.html#/
        <http://www.ianturton.com/talks/foss4g.html#/>
        - The GeoServer user list posting guidelines:
        http://geoserver.org/comm/userlist-guidelines.html

        If you want to request a feature or an improvement, also see
        this:
        
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
        
<https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer>


        Geoserver-users@lists.sourceforge.net
        <mailto:Geoserver-users@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/geoserver-users
        <https://lists.sourceforge.net/lists/listinfo/geoserver-users>




--
    Regards,

    Andrea Aime

    ==GeoServer Professional Services from the experts! Visit
    http://goo.gl/it488V for more information.==Ing. Andrea Aime
    @geowolfTechnical LeadGeoSolutions S.A.S.Via di Montramito 3/A
    
<https://maps.google.com/?q=Via+di+Montramito+3/A+%0D%0A+55054+%C2%A0Massarosa&entry=gmail&source=g>55054
     Massarosa
    
<https://maps.google.com/?q=Via+di+Montramito+3/A+%0D%0A+55054+%C2%A0Massarosa&entry=gmail&source=g>
    (LU)phone: +39 0584 962313 <tel:+39%200584%20962313>fax: +39 0584
    1660272 <tel:+39%200584%20166%200272>mob: +39  339 8844549
    
<tel:+39%20339%20884%204549>http://www.geo-solutions.ithttp://twitter.com/geosolutions_it
    <http://twitter.com/geosolutions_it>

    AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

    Le informazioni contenute in questo messaggio di posta
    elettronica e/o nel/i file/s allegato/i sono da considerarsi
    strettamente riservate. Il loro utilizzo è consentito
    esclusivamente al destinatario del messaggio, per le finalità
    indicate nel messaggio stesso. Qualora riceviate questo messaggio
    senza esserne il destinatario, Vi preghiamo cortesemente di
    darcene notizia via e-mail e di procedere alla distruzione del
    messaggio stesso, cancellandolo dal Vostro sistema. Conservare il
    messaggio stesso, divulgarlo anche in parte, distribuirlo ad
    altri soggetti, copiarlo, od utilizzarlo per finalità diverse,
    costituisce comportamento contrario ai principi dettati dal
    D.Lgs. 196/2003.

    The information in this message and/or attachments, is intended
    solely for the attention and use of the named addressee(s) and
    may be confidential or proprietary in nature or covered by the
    provisions of privacy act (Legislative Decree June, 30 2003,
    no.196 - Italy's New Data Protection Code).Any use not in accord
    with its purpose, any disclosure, reproduction, copying,
    distribution, or either dissemination, either whole or partial,
    is strictly forbidden except previous formal approval of the
    named addressee(s). If you are not the intended recipient, please
    contact immediately the sender by telephone, fax or e-mail and
    delete the information in this message that has been received in
    error. The sender does not give any warranty or accept liability
    as the content, accuracy or completeness of sent mes sages and
    accepts no responsibility  for changes made after they were sent
    or for other risks which arise as a result of e-mail
    transmission, viruses, etc.

--

Regards,

Andrea Aime

==GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.==Ing. Andrea Aime @geowolfTechnical LeadGeoSolutions S.A.S.Via di Montramito 3/A55054 Massarosa (LU)phone: +39 0584 962313fax: +39 0584 1660272mob: +39 339 8844549http://www.geo-solutions.ithttp://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to