Skip to content
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

Disabling of Get XML and Post KVP #20

Open
lgoltz opened this issue Mar 23, 2017 · 6 comments
Open

Disabling of Get XML and Post KVP #20

lgoltz opened this issue Mar 23, 2017 · 6 comments

Comments

@lgoltz
Copy link
Contributor

lgoltz commented Mar 23, 2017

As part of our capability we are not supporting Get-XML and Post-KVP protocols. How can we configure team engine to disable their test cases execution?

@lgoltz
Copy link
Contributor Author

lgoltz commented Mar 23, 2017

As already described in #18 POST KVP is enabled if POST is activated. GET XML is not supported and not allowed by http.

@dstenger dstenger changed the title Disabling of Get XML and Post KVP Disabling of Get XML and Post KVP Mar 28, 2017
@dstenger
Copy link
Contributor

Decision: If POST KVP is optional, it should be possible to deactivate the protocol. Further investigation is required.

@dstenger
Copy link
Contributor

dstenger commented May 17, 2017

The specification (OGC 05-076) states the following:

...
6.3.2 Key-value pair encoding (GET or POST)

6.3.2.1 Overview

Using Key-Value Pair encoding, a client composes the necessary request parameters as
keyword/value pairs in the form "keyword=value", separated by ampersands (‘&’), with
appropriate encoding [IETF RFC 2396] to protect special characters. The resulting query
string may be transmitted to the server via HTTP GET or HTTP POST, as prescribed in
the HTTP Common Gateway Interface (CGI) standard [IETF RFC 2616].
...
...
6.3.3 XML encoding

Clients may also encode requests in XML for transmission to the server using HTTP
GET or (more often) HTTP POST. The XML request must conform to the schema corre-
sponding to the chosen operation, and the client must send it to the URL listed for that
operation in the server’s Capabilities XML file, in accordance with HTTP POST [IETF
RFC 2616]).
...

Thus, if the service supports the POST DCPType, must POST KVP be a possible encoding?

@bermud
Copy link
Contributor

bermud commented May 17, 2017

Proposed solution/decision

1- GetCapabilities advertises GET
2- check for GET KVP (if error or not responding, then)
3- check GET XML

1- GetCapabilities advertises POST
2- check for POST XML (if error or not responding, then)
3- check POST KVP

@lgoltz
Copy link
Contributor Author

lgoltz commented Jul 11, 2017

As far as I see the first block does not make sense. GET XML is not recommended as HTTP does not define the handling of a body for GET request.

As service provider I would like to check all the features my services provides. Unfortunately it is not possible to get the information if XML and/or KVP is supported for POST requests from the capabilities. Sending a request and deciding dependent on the response (error or no response) is difficult to cause it is not clear if an error occurred cause of a unsupported requested binding or another failure.

So I would prefer to add a checkbox to allow the user to select the bindings to test. Also the subdivision into profiles (GET binding, POST/KVP binding, POST/XML binding) could be a solution.

@dstenger
Copy link
Contributor

dstenger commented Apr 4, 2018

I agree and propose to add a radio button making it possible to choose between POST/KVP binding and POST/XML binding. Thus, always one of those options must be selected and is used if any POST encoding is advertised in capabilities. This solution has the drawback that mixed POST bindings are not supported by the test suite. But this is, in my opinion, a very rare case.

@lgoltz lgoltz self-assigned this Apr 4, 2018
@ghobona ghobona removed their assignment Sep 12, 2020
@dstenger dstenger added this to CITE Aug 1, 2024
@dstenger dstenger moved this to To do in CITE Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: To do
Development

No branches or pull requests

4 participants