workspaces


URI

<managerRoot_uri>/workspaces[.<format>]

支持的方法

GETPOSTPUTHEAD

父资源

managerRoot

子资源

workspaceReload

介绍

工作空间列表。workspaces 资源列举了当前所有的工作空间。通过 POST 操作可以将工作空间快速发布成 GIS 服务,目前只支持发布 UGC 的工作空间。相关使用示例可参考GIS 服务的快速发布(通过 REST API)。也可以通过 PUT 操作删除某个工作空间对应的服务实例。

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,localhost 是本地服务器。

http://localhost:8090/iserver/manager/workspaces.rjson

GET 请求

获取当前所有的工作空间。

响应结构

对 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 格式的表述如下:

POST 请求

将工作空间快速发布成 GIS 服务。

请求参数

请求体中传递如下参数:

名称 类型 含义
workspaceConnectionInfo String 【必选参数】
工作空间路径或者数据库的连接信息。如数据库型工作空间表示如下:
"workspaceConnectionInfo": "server=orcl203;username=test;password=test;type=ORACLE;database=;name=testWorkSpace"
servicesTypes

ServiceType[]

【必选参数】
发布的服务类型,发布多个服务时用逗号隔开。

isMultiInstance

boolean 是否开启服务多实例。
instanceCount int 服务实例个数。
datasourceInfos

List<FilteredDatasourceInfo>

【仅用于设置数据服务的发布,发布非数据服务时,该设置项无效。此参数是可选项】
通过设定该参数,可实现对所发布的数据服务中的数据集进行筛选。
isDataEditable boolean 【当 servicesTypes 为 RESTDATA、WFS100、WCS111、WCS112 时必选】
表示数据服务中的数据是否可编辑,如果为 false 则不可编辑。
isDatasetsCheck

boolean

【当 servicesTypes 为 RESTDATA 且数据来源为文件型或数据库型工作空间、PostGIS 服务时可选】
表示数据服务中指定发布的数据集是否开启数据集校验,若这些被指定的数据集不合规(如数据源不含数据集、数据源下的数据集均不含空间表、用户指定的数据集名不存在等),则数据校验不通过。默认为 false。
dataProviderDelayCommitSetting

DataProviderDelayCommitSetting

发布数据服务可选的参数,数据编辑操作延提交设置。
transferLineSetting

TransferLineSetting

发布交通换乘服务需要的参数,公交线路环境设置。
transferNetName String 发布交通换乘服务需要的参数,公交网络名称。
transferRelationSetting

TransferRelationSetting

发布交通换乘服务需要的参数,公交站点与线路关系设置。
transferStopSetting

ransferStopSetting

发布交通换乘服务需要的参数,公交站点环境设置。
unit

Unit

发布交通换乘服务需要的参数,站点捕捉容限、站点归并容限和步行阈值的单位,默认为米。
walkingTolerance double 发布交通换乘服务需要的参数,步行阀值,默认为1000。
mergeTolerance double 发布交通换乘服务需要的参数,公交站点归并容限。
snapTolerance double 发布交通换乘服务需要的参数,公交站点捕捉容限。
transportationAnalystSetting TransportationAnalystSetting 发布交通网络分析服务的环境配置类。
facilityAnalyst3DSetting UGCNetworkAnalyst3DSetting 发布三维设施网络分析服务提供者配置类。

addressMatchProviderSetting

UGCAddressMatchProviderSetting 发布地址匹配服务的环境配置类。

响应结构

响应结果是发布得到的 GIS 服务的信息组成的数组,每条信息包含如下:

字段 类型 说明
serviceAddress String 发布服务的地址。
serviceType

ServiceType

发布服务的类型。

1.响应示例

对 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"

}]

2.响应示例

对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"

}

PUT 请求

模拟 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}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 workspaces 资源是否存在,或者客户端是否有权限访问 workspaces 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 workspaces 资源是否支持<format>格式的表述。

请参见