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

app-schema workspace-specific service URL corrupts namespaces of other workspaces

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Medium
    • Resolution: Fixed
    • Affects Version/s: 2.5-beta
    • Fix Version/s: 2.12-beta
    • Component/s: Application schema
    • Labels:
      None

      Description

      Accessing an app-schema data store via a workspace-specific service URL causes namespaces of other workspaces to be encoded as null, even simple feature namespaces.

      To reproduce:

      (1) Start with the geoserver release data directory (containing topp workspace) and unpack the attached gsmlp.zip to create a single app-schema type, and start GeoServer:

      (2) Access the app-schema type via its workspace-specific service URL:
      http://localhost:8080/geoserver/gsmlp/ows?service=WFS&version=1.1.0&request=GetFeature&typename=gsmlp:GeologicUnitView - http://localhost:8080/geoserver/gsmlp/ows?service=WFS&version=1.1.0&request=GetFeature&typename=gsmlp:GeologicUnitView

      (the ows?service=WFS and wfs? form work the same)

      (3) Access topp:tasmania_roads by any means:
      http://localhost:8080/geoserver/wfs?version=1.1.0&request=GetFeature&typename=topp:tasmania_roads - http://localhost:8080/geoserver/wfs?version=1.1.0&request=GetFeature&typename=topp:tasmania_roads
      http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typename=topp:tasmania_roads - http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typename=topp:tasmania_roads

      Result: response containing:

      <gml:featureMember>
      <null:tasmania_roads gml:id="tasmania_roads.1">
      <null:the_geom>

      This behaviour occurs if and only if the gsmlp layer is accessed first, before the topp layer, and only if the gsmlp layer is accessed through its workspace-specific service URL. Accessing the topp layer first or accessing the gsmlp layer through a global URL do not cause the corruption:
      http://localhost:8080/geoserver/ows?service=WFS&amp;version=1.1.0&amp;request=GetFeature&amp;typename=gsmlp:GeologicUnitView - http://localhost:8080/geoserver/ows?service=WFS&amp;version=1.1.0&amp;request=GetFeature&amp;typename=gsmlp:GeologicUnitView

      Looks like app-schema workspace-specific service URLs are corrupting the namespaces of other workspaces.

      Workaround: do not use app-schema workspace-specific service URLs.

        Attachments

          Activity

            People

            • Assignee:
              nmco Nuno Oliveira
              Reporter:
              harrison.grundy codehaus (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: