I'm using a put request to create a datastore under a workspace, and automatically register the included feature type in a new layer.
The put request succeeds, and I can see the datastore points to a real location on the filesystem, but the datastore contains no features (even though it clearly does when imported into ArgGIS).
Has anyone run into this issue before?
$this->guzzleClient->request('PUT', 'workspaces/' . $preparedTypeTitleStr . '/datastores/' . $preparedResourceTitleStr . '/file.shp?configure=all&update=overwrite', [ 'headers' => ['Content-Type' => 'application/zip'], 'body' => $shapefile_zip_body, 'timeout' => 0 ]);
This succeeds and the datastore is created and points to:
However a call to:
$workSpaceLayers = json_decode($this->guzzleClient->request('GET', 'workspaces/' . $preparedTypeTitleStr . '/datastores/' . $preparedResourceTitleStr . '/featuretypes.json', ['headers' => ['Accept' => 'application/json']])->getBody()->getContents());
returns an empty array for feature types.
I've done this before and the feature type(s) are registered automatically and made available as layers (which I can ultimately wrap into a layer group with some included styling information).
Can anyone tell me what's going wrong? Theres no errors being generated, the datastore is simply empty.