Uploaded image for project: 'GeoServer'
  1. GEOS-8023

Virtual Service fails layer name lookup, needs qualified name

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Medium
    • Resolution: Fixed
    • Affects Version/s: 2.10.2
    • Fix Version/s: 2.10.4, 2.11.1
    • Component/s: None
    • Labels:
      None

      Description

      I noticed two issues with specifying a layer name as part of a virtual service that both seemed to be caused by line 63 in org.geoserver.ows.OWSHandlerMapping not providing a workspace qualified layer name:
      if (catalog.getLayerByName(first) != null) {

      1. When JDBC Configuration is enabled, the request will return a 404 response if the layer name is used in more than one workspace. This is because DefaultCatalogFacade returns the first layer if there is more than one layer with the same name so this check still passes but JDBCCatalogFacade returns null in that situation so it doesn't pass this check.

      2. If a layer name exists but is not in the specified workspace, the request will be handled as if a layer was not provided in the request (e.g., "test/missing/wms" will be handled as "test/wms" if the layer "missing" exists but not in the "test" workspace). This is because LocalWorkspaceCallback uses the workspace qualified layer name when setting the LocalPublished value and just ignores the layer name if it doesn't exist, allowing the request to continue with only the LocalWorkspace set.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              sikeoka Steve Ikeoka
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: