<managerRoot_uri>/workspaces[.<format>]
工作空间列表。workspaces 资源列举了当前所有的工作空间。通过 POST 操作可以将工作空间快速发布成 GIS 服务,目前只支持发布 UGC 的工作空间。相关使用示例可参考GIS 服务的快速发布(通过 REST API)。也可以通过 PUT 操作删除某个工作空间对应的服务实例。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,localhost 是本地服务器。
http://localhost:8090/iserver/manager/workspaces.rjson
获取当前所有的工作空间。
对 workspaces 资源执行 GET 请求,返回的是一个工作空间列表,其中单个工作空间的表述的结构如下:
字段 | 类型 | 说明 |
address | String | 工作空间文件的地址。 |
available | boolean | 服务是否可用。true 为可用,否则不可用。 |
enabled | boolean | 服务是否启用,true 为启用状态,false 为停止状态。 |
initOnCreate | boolean | 是否开启服务实例动态化管理 |
message | String | 如果 available 为 false,即服务不可用,则 message 表示服务不可用的原因。 |
name | String | 工作空间名,如 China400.smwu。 |
serviceName | String | 服务名,如 map-china400/rest。 |
serviceType | String | 服务类型,包括:Map、Data、3D、TransportationAnalyst、SpatialAnalyst、TrafficTransferAnalyst 等。 |
对 workspaces 资源:http://localhost:8090/iserver/manager/workspaces.rjson 执行 GET 请求,返回的 rjson 格式的表述如下:
将工作空间快速发布成 GIS 服务。
请求体中传递如下参数:
名称 | 类型 | 含义 |
workspaceConnectionInfo | String | 【必选参数】
工作空间路径或者数据库的连接信息。如数据库型工作空间表示如下: "workspaceConnectionInfo": "server=orcl203;username=test;password=test;type=ORACLE;database=;name=testWorkSpace" |
servicesTypes | 【必选参数】
发布的服务类型,发布多个服务时用逗号隔开。 |
|
isMultiInstance |
boolean | 是否开启服务多实例。 |
instanceCount | int | 服务实例个数。 |
datasourceInfos | List<FilteredDatasourceInfo> |
【仅用于设置数据服务的发布,发布非数据服务时,该设置项无效。此参数是可选项】
通过设定该参数,可实现对所发布的数据服务中的数据集进行筛选。 |
isDataEditable | boolean | 【当 servicesTypes 为 RESTDATA、WFS100、WCS111、WCS112 时必选】
表示数据服务中的数据是否可编辑,如果为 false 则不可编辑。 |
isDatasetsCheck | boolean |
【当 servicesTypes 为 RESTDATA 且数据来源为文件型或数据库型工作空间、PostGIS 服务时可选】
表示数据服务中指定发布的数据集是否开启数据集校验,若这些被指定的数据集不合规(如数据源不含数据集、数据源下的数据集均不含空间表、用户指定的数据集名不存在等),则数据校验不通过。默认为 false。 |
dataProviderDelayCommitSetting | 发布数据服务可选的参数,数据编辑操作延提交设置。 | |
transferLineSetting | 发布交通换乘服务需要的参数,公交线路环境设置。 | |
transferNetName | String | 发布交通换乘服务需要的参数,公交网络名称。 |
transferRelationSetting | 发布交通换乘服务需要的参数,公交站点与线路关系设置。 | |
transferStopSetting | 发布交通换乘服务需要的参数,公交站点环境设置。 | |
unit | 发布交通换乘服务需要的参数,站点捕捉容限、站点归并容限和步行阈值的单位,默认为米。 | |
walkingTolerance | double | 发布交通换乘服务需要的参数,步行阀值,默认为1000。 |
mergeTolerance | double | 发布交通换乘服务需要的参数,公交站点归并容限。 |
snapTolerance | double | 发布交通换乘服务需要的参数,公交站点捕捉容限。 |
transportationAnalystSetting | TransportationAnalystSetting | 发布交通网络分析服务的环境配置类。 |
facilityAnalyst3DSetting | UGCNetworkAnalyst3DSetting | 发布三维设施网络分析服务提供者配置类。 |
addressMatchProviderSetting |
UGCAddressMatchProviderSetting | 发布地址匹配服务的环境配置类。 |
响应结果是发布得到的 GIS 服务的信息组成的数组,每条信息包含如下:
字段 | 类型 | 说明 |
serviceAddress | String | 发布服务的地址。 |
serviceType | 发布服务的类型。 |
对 workspaces 资源:http://localhost:8090/iserver/manager/workspaces.rjson 发送 POST 请求,将工作空间 World.sxwu 快速发布成 RESTMAP 服务:
{
"servicesTypes": ["RESTMAP", "RESTDATA", "WMS111"],
"workspaceConnectionInfo": "../samples/data/World/World.sxwu"
}
上述 POST 请求发送后,服务端返回创建的服务如下所示:
[{
"serviceAddress": "http://localhost:8090/iserver/services/map-world2/rest",
"serviceType": "RESTMAP"
},
{
"serviceAddress": "http://localhost:8090/iserver/services/data-world2/rest",
"serviceType": "RESTDATA"
},
{
"serviceAddress": "http://localhost:8090/iserver/services/map-world2/wms111",
"serviceType": "WMS111"
}]
对workspaces 资源:http://localhost:8090/iserver/manager/workspaces.rjson 发送 POST 请求。可对要发布为数据服务中的指定数据集进行数据集校验。请求体中的参数如下:
{
"workspaceConnectionInfo": "${fileManagerWorkDir}/00_sample/data/China/China100.smwu",
"servicesTypes": [
"RESTDATA"
],
"isMultiInstance": false,
"instanceCount": "",
"datasourceInfos": [
{
"datasourceName": "China",
"includedDatasetNames": [
"Airport_pt"
]
}
],
"dataProviderDelayCommitSetting": {
"enabled": false,
"logEntireErrorMsg": false,
"cachePath": null,
"commitMode": "INTERVALUPDATE",
"countToCommit": "1000",
"updateInterval": "3600"
},
"isDataEditable": false,
"isDatasetsCheck": true
}
上述 POST 请求发送后,服务端返回创建的服务如下所示:
{
"serviceAddress": "http://localhost:8090/iserver/services/data-China100/rest",
"serviceType": "RESTDATA"
}
模拟 DELETE,实现删除某个工作空间对应的服务实例。
请求体中传递如下参数:
名称 | 类型 | 含义 |
workspaceConnectionInfo | String | 【必选参数】
工作空间路径或者数据库的连接信息。如数据库型工作空间表示如下: "server=orcl203;username=test;password=test;type=ORACLE;database=;name=testWorkSpace;driver=null" |
对 workspaces 资源执行 PUT 请求,返回的资源表述的结构如下(资源表述在响应消息的实体主体里):
字段 | 类型 | 说明 |
succeed | boolean | 删除工作空间是否成功。 |
对 workspaces 资源:http://localhost:8090/iserver/manager/workspaces.rjson 执行请求体如下的 PUT 请求,删除工作空间 China400.smwu:
{
"workspaceConnectionInfo":"../../samples/data/China400/China400.smwu"
}
则返回 rjson 格式的响应结果如下:
{"succeed": true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 workspaces 资源是否存在,或者客户端是否有权限访问 workspaces 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 workspaces 资源是否支持<format>格式的表述。