WPS PagedUnique process ignores workspace of the input layer

Description

The WPS PagedUnique process will give wrong results if the input layer name exists in two different workspaces.

In GeoServer 2.8.5 the process will fail with a message "Failed to retrieve value for input features
Could not locate TEST_LAYER in catalog."

In GeoServer 2.13.x the proces will succeed with wrong results.

To reproduce with the standard data_dir:

  1. Re-publish the tigeroi layer and name it TEST_LAYER

  2. Re-publish the sf:restricted layer and name it TEST_LAYER

  3. Query the tiger:TEST_LAYER to get all the values of the "NAME" property, the WPS body follows:

GeoServer 2.8.5 will fail, GeoServer 2.13 will return the correct results.

  • Use the same request and just change the workspace name of the layer

GeoServer 2.8.5 will fail, GeoServer 2.13 will return the previous results (the tiger:TEST_LAYER one)

Note that the sf:TEST_LAYER does not have a "NAME" property.

Environment

Windows standalone binary with 2.8.5 and 2.13-master
Linux tomcat with 2.8.5

All GeoServer with the matching WPS plugin

Activity

Gnafu 
June 7, 2018 at 11:13 AM

I always assumed the typeName value did not have anything to do with the XML validity itself.

Anyway, I added the xmlns definition for both namespaces pretty much anywhere and still I cannot get it to work.

Here's my request:

Andrea Aime 
June 3, 2018 at 9:00 AM

you misunderstand, "tiger" also needs to be defineda as a "xmlns:tiger=...." in the request for it to be valid.

Gnafu 
March 5, 2018 at 3:03 PM

This is the content of namespace.xml in the default data dir:

Andrea Aime 
March 3, 2018 at 2:16 PM

The request seems invalid, the "tiger" prefix is not associated to a namespace anywhere?

Details

Assignee

Reporter

Affects versions

Components

Priority

Created February 8, 2018 at 2:51 PM
Updated June 10, 2018 at 7:54 AM