The ticket outlines the issue in more depth but the crux of the problem is
that DescribeLayer returns URLs with 'WfsDispatcher' on the end, something
like: http://localhost:8080/geoserver/tiger/poi/wfs/WfsDispatcher?
These URLs are not usable as an exception occurs noting that the service
can't be found or operation doesn't exist. The issue occurs with both
{workspace} and {workspace}/{layer} virtual services.
The problem occurs here:
https://github.com/geoserver/geoserver/blob/master/src/ows/src/main/java/org/geoserver/ows/Dispatcher.java#L369
The code only looks for a single slash...
I attempted a fix in the Dispatcher and it will work for URLs of the format
{workspace}/{layer} but this fails with the {workspace} only approach as
the `context` is computed as {workspace}/wfs and the `path` is
WfsDispatcher. This algorithm is ambiguous unless it 'knows' about
'WfsDispatcher'.
It seems like potential solutions are:
1) remove WfsDispatcher from the DescribeLayer response (the code even
notes this:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/describelayer/DescribeLayerTransformer.java#L153).
The String WfsDispatcher only appears a few times throughout the
codebase.
2) and/or (if desired for backward compatibility) make the Dispatcher
knowledgeable about this specific type of URL (ending w/ WfsDispatcher) and
ignore the last path component
Clear as mud?
Thoughts?
--
Ian Schneider
Software Engineer | Boundless
ischnei...@boundlessgeo.com
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel