-
Notifications
You must be signed in to change notification settings - Fork 3
OpenEO Validator Web Interface: Validation results are not reliable #48
Comments
That is really strange, also because I was not able to recreate this issue on other backends, but I will now debug the application to see what causes this message. |
I found out that it is independent from the web application, so also in the CLI version this happens. e.g.: "Wrong" Header Response:
"Correct" Header Response:
Both responses header happened on the two different executions of the same endpoint. I'll try to investigate this further. |
Could be our reverse proxy is cutting off the header information from responses? That is really strange. Now I have implemented another endpoint
|
Ok that is an issue of the web tool related to #47, I will fix this now. On the CLI tool I saw that this endpoint is "Valid" so you can assume it is fine. |
Thanks @bgoesswe, let me know when you manage to fix it please and let me know if you need any inputs from me. |
The issue #47 is now fixed, it will now break only on errors during execution and not from warning messages as before. |
@bgoesswe I just reloaded the validation page of our backend and I still get:
then I tried in another browser (Opera) and I got the following:
|
Yes, that is still because sometimes there is no content-type in the response header from the backend. I am also not sure if this is a problem for D28, since it just happens occasionally? |
I don't think I've seen this issue with the VITO backend |
I've never experienced this issue on the EODC backend, nor other I tested for D28 |
I really don't understand where the problem is. I tried to run the following script on our backend from my workstation and it never exited: import sys
import requests
_TESTED_URLS = [
"https://jeodpp.jrc.ec.europa.eu/openeo",
"https://jeodpp.jrc.ec.europa.eu/openeo/jobs/027e3c4b-ab83-4d34-a6b2-4f3d9d797e54",
"https://jeodpp.jrc.ec.europa.eu/openeo/udf_runtimes"
]
def send_request(url: str):
request = requests.get("https://jeodpp.jrc.ec.europa.eu/openeo/udf_runtimes")
return request
while True:
for url in _TESTED_URLS:
resp_data = send_request(url)
content_type = resp_data.headers.get("content-type")
if content_type != "application/json":
sys.exit("content-type is not JSON")
else:
print(content_type) Are you sending requests in parallel? If so I can try to simulate it as well. |
Guys it happened on our side, sorry. So now am gonna investigate where in our infrastructure this problem occurs and will report back. I have never experienced such a problem so far though. |
Good to hear, please let us know when you found the issue. |
Dears we seem to have fixed the issue at our reverse proxy server. However still I would like to make some tests at the application level simulating the way you use to validate an endpoint. Is there a possibility to get the alghoritm and data you use when validating an OpenEO endpoint? |
In general everything is in this repository in the "openeoct" folder, unfortunately we are using an existing Go openAPI validator (kin-openapi) and therefore we do not have the complete algorithms.
I hope this helps |
Dear devs,
When I try to validate our OpenEO API instance using Web Interface of the OpenEO Validator, I get heterogeneous results while not changing anything on the our backend side:
Example:
I run the validation via this URL: https://www.geo.tuwien.ac.at/openeoct/backend/validate/deliverable/7
I get the following error for EO Data Discovery test case:
Then I refresh the page and the EO Data Discovery is valid:
Then I refresh a page again and I get the same error for e.g. Capabilities group.
The error is always the same
Error: Response of the back end not valid; Details: input header 'Content-Type' has unexpected value:
Could you please check why the Web Validator does not provide reliable results?
Thank you,
The text was updated successfully, but these errors were encountered: