I'm trying to create layers in Geoserver using MongoDB instance. However I want to create the layer in geoserver using RESTful interface or using geotools function. Similar to how layers is created using PostGIS instance.
I have tried creating the layers manually for MongoDB instance, works fine. (Link: https://docs.geoserver.org/latest/en/user/extensions/mongodb/index.html). But how do I create layers using RESTful interface
Tried to create Datastore using the below POST instance.
String data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<as:AppSchemaDataAccess xmlns:as=\"http://www.geotools.org/app-schema\"\n" +
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
"xsi:schemaLocation=\"http://www.geotools.org/app-schema AppSchemaDataAccess.xsd\">"
+ "<sourceDataStores>\n" +
" <DataStore>\n" +
" <id>data_source</id>\n" +
" <parameters>\n" +
" <Parameter>\n" +
" <name>mongostore</name>\n" +
" <value>mongodb://127.0.0.1:27017/geodatabase</value>\n" +
" </Parameter>\n" +
" <Parameter>\n" +
" <name>namespace</name>\n" +
" <value>http://www.stations.org/1.0</value>\n" +
" </Parameter>\n" +
" <Parameter>\n" +
" <name>schema_store</name>\n" +
" <value>file:///opt/schemas/database</value>\n" +
" </Parameter>\n" +
" <Parameter>\n" +
" <name>data_store_type</name>\n" +
" <value>complex</value>\n" +
" </Parameter>\n" +
" </parameters>\n" +
" </DataStore>\n" +
"</sourceDataStores>"+
"</as:AppSchemaDataAccess>";
The above XML did not succeed, it gave me the following error:
ERROR [geoserver.rest] - as:AppSchemaDataAccess
com.thoughtworks.xstream.mapper.CannotResolveClassException: as:AppSchemaDataAccess
. I am not sure whether this was the right way and also would like to know if I can create using geotools if it supports for MongoDB.