On 26-10-2016 11:59, jvandewege wrote:
> Hello,
>
> We're a company that has been using geoserver for quite a while and
> recently have been upgrading almost all of our infrastructure to a
> more organised form :-)
> We currently deploy geoserver-2.9.1.war to a farm of
> Wildfly-8.2.0-Final in domain mode and have had no problems until very
> recently where we discovered that a /rest/about/version should return
> info about the geoserver but all it does is return 'About:' with the
> following page source:
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html
> xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en"
> lang="en"><head><title>GeoServer Configuration</title><meta
> name="ROBOTS" content="NOINDEX,
> NOFOLLOW"/></head><body><h2>About:</h2></body></html>
> ALL other rest calls return the correct information and all other
> functionality also works correct!
> This is a standard Wildfly deployment in standalone mode with a
> standard geoserver-2.9.1.war and it doesn't make a difference whether
> we use Wildfly8/9/10, use it on Windows (2012) or on Linux (Centos-6/7).
>
> Anyone seen anyone like this?
> Any other info I can supply/research to help find the root cause?
>
I finally had enough of this problem and decided to setup a development
env to try to tackle it.

Good news: I know what the problem is :-)
Bad news: don't know if geoserver is going to accept the solution.

The problem is the way Wildfly presents the jars and manifests to the
application. It uses vfs: while Tomcat/Eclipse/Jetty all use file:. The
weird part is that the REST call to /rest/about/version seems to follow
a different path than /rest/about/status which works OK when geoserver
is deployed on Wildfly. The former doesn't work because the following
doesn't accept a vfs file spec:
Manifest manifest = manifests.get(geoserverPath);
That line is in ManifestLoader.java, see also:

Improvement GEOS-7838REST call to about/version doesn't work on
Wildfly/Jboss : https://osgeo-org.atlassian.net/browse/GEOS-7838

I found a piece of code on the internet that takes a Class(??) and then
loads its manifest not caring about vfs vs file.

http://stackoverflow.com/questions/1272648/reading-my-own-jars-manifest
answer by muellair

As a test I added this to ManifestLoader.java and recompile geoserver,
deployed the resulting war and voila got the right output from
/rest/about/version

I'm willing to make this into a PR but then I need someone else to
cleanup because its probably not correct Java what I have done. I know
enough Java to be dangerous not only to myself but also others :-)
I'm also open to another solution if that exists. I'm thinking along the
lines that /rest/about/status does work, why does that one work. I
haven't looked into that yet.

Joop


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to