Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

WMTS 1.0.0 returns wrong HTTP status code when requesting an non exisiting endpoint #905

Closed
dstenger opened this issue Apr 25, 2018 · 6 comments
Labels
bug error issue and bug (fix)

Comments

@dstenger
Copy link
Contributor

When OGC CITE test suite [1] is executed with deegree 3.4.0 [2], one test is failing.

Test result: http://cite.opengeospatial.org/teamengine/viewSessionLog.jsp?session=s0041
One test is failing: Test wmts:Server.KVP.GET.HTTP.Mandatory
This test did not fail with 3.4-RC7 (#882).
Reason of failure: Fail: Server returned 200 instead of expected HTTP status code 404 in response to request http://cite.deegree.org/deegree-webservices-3.4.0/services/wmts100/nonesuch

Hints:

[1] http://cite.opengeospatial.org/teamengine/
[2] http://cite.deegree.org/deegree-webservices-3.4.0/services/wmts100?service=WMTS&request=GetCapabilities

@dstenger dstenger added the bug error issue and bug (fix) label Apr 25, 2018
@dstenger dstenger changed the title WMTS 1.0.0 returns wrong HTTP status code when requesting a non exisiting endpoint WMTS 1.0.0 returns wrong HTTP status code when requesting an non exisiting endpoint Apr 25, 2018
@dstenger
Copy link
Contributor Author

Analysis of test failure

The test is currently failing with deegree 3.4-RC3 (current reference implementation) and deegree 3.4.0.
When Java is set back to version 1.7, the reference implementation is passing the test again.

Thus, the new test failure is related to the update of Java from java-7-oracle to java-8-openjdk-amd64.

@dstenger
Copy link
Contributor Author

Problem is solved for cite.opengeospatial.org

Solution is to use java-8-oracle instead of java-8-openjdk-amd64.
Now, the correct HTTP status code is returned.

@dstenger dstenger mentioned this issue May 17, 2018
7 tasks
@copierrj
Copy link
Member

Suggestion: try another OpenJDK build such as https://www.azul.com/downloads/zulu/zulu-linux/

@copierrj copierrj reopened this May 25, 2018
@dstenger
Copy link
Contributor Author

dstenger commented May 25, 2018

Next step:

  • Install OpenJDK (no Debian package) [1] on Docker Container and rerun test.

[1] http://repos.azulsystems.com/

@dstenger
Copy link
Contributor Author

dstenger commented Jun 29, 2018

Test OpenJDK build of Azul

Create Docker Network

docker network create deegree-testing

Install Zulu on Docker Container instance

docker run -it --rm --network=deegree-testing --name deegree -p 8081:8080 debian
apt-get update
apt-get install gnupg
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x219BD9C9
echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list
apt-get update
apt-get install zulu-8

Setup deegree on same Docker Container instance

apt-get install tomcat8
vim /etc/default/tomcat8
  insert: export JAVA_HOME=/usr/lib/jvm/zulu-8-amd64
service tomcat8 force-reload
apt-get install wget
/var/lib/tomcat8/webapps# wget http://nexus.deegree.org/content/groups/public/org/deegree/deegree-webservices/3.4.0/deegree-webservices-3.4.0.war
  copy and activate CITE workspace

deegree is reachable via: http://localhost:8081/deegree-webservices-3.4.0/
And inside the Docker Network: http://deegree:8080/deegree-webservices-3.4.0/
Capabilities are reachable via

Start WMTS test suite on new Docker Container instance

Following project is used: teamengine-docker.

teamengine-docker/teamengine-ets-wmts10$ mvn clean package docker:build -Dets-wmts10.version=1.0 && docker run -p 8082:8080 --rm --network=deegree-testing opengis/teamengine-ets-wmts10

Execute WMTS tests

Execute test suite against http://deegree:8080/deegree-webservices-3.4.0/services/wmts100?service=WMTS&request=GetCapabilities.

--> All tests are passed successfully.
--> This includes test wmts:Server.KVP.GET.HTTP.Mandatory.

Conclusion

Thus, it can be concluded that the Debian package version of OpenJDK is erroneous. When Zulu OpenJDK is used, all tests are passed.

@tfr42
Copy link
Member

tfr42 commented Jul 2, 2018

PR #909 contains updates for the installation section of the handbook with hints to use TCK certified distributions of OpenJDK.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug error issue and bug (fix)
Projects
None yet
Development

No branches or pull requests

3 participants