<managerRoot_uri>/components[.<format>]
服务组件设置列表资源。components 资源列举了所有的服务组件配置,可以通过 POST 操作创建一个新的服务组件,也可以通过 PUT 操作更改已有的服务列表。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,localhost 是本地服务器。
http://localhost:8090/iserver/manager/components.rjson
获取服务组件列表。
对 components 资源执行 GET 请求,返回的是一个服务组件列表,其中单个服务组件的表述的结构如下:
字段 | 类型 | 说明 |
config | 服务配置信息。包括输出路径、输出站点和日志级别信息。
其中,地图服务组件参考MapConfig,数据服务组件参考DataConfig。 |
|
providers | String | 使用的服务提供者或服务提供者集合的名称,可以是多个,以逗号分隔。 |
type | String | 服务组件的类型。 |
name | String | 服务组件的名称。 |
interfaceNames | String | 绑定的服务接口名称列表,以逗号分隔多个接口名称 。 |
disabledInterfaceNames | String | 停止了的服务接口名称列表,以逗号分隔。 |
enabled | boolean | 当前服务组件是否可用。默认为 true,表示可用。 |
对 components 资源:http://localhost:8090/iserver/manager/components.rjson 执行 GET 请求,返回服务组件列表,截取部分服务组件的 rjson 格式的表述如下:
[{
"config": {
"clip": false,
"logLevel": null,
"outputPath": null,
"outputSite": null,
"useCache": false
},
"disabledInterfaceNames": "",
"enabled": false,
"interfaceNames": "rest,wms111,wms130,wmts100,wmts-china",
"name": "map-china400",
"providers": "ugcMapProvider-China400",
"type": "com.supermap.services.components.impl.MapImpl"
},
{
"config": {
"clip": false,
"logLevel": null,
"outputPath": null,
"outputSite": null,
"useCache": false
},
"disabledInterfaceNames": "",
"enabled": false,
"interfaceNames": "rest",
"name": "map-jingjin",
"providers": "ugcMapProvider-Jingjin",
"type": "com.supermap.services.components.impl.MapImpl"
}]
创建并启动一个服务组件。
字段 | 类型 | 说明 |
name | String | 服务组件的名称。 |
type | String | 服务组件的类型。 |
config | 服务配置信息。包括输出路径、输出站点和日志级别信息。
其中,地图服务组件参考MapConfig,数据服务组件参考DataConfig。 |
|
providers | String | 使用的服务提供者或服务提供者集合的名称,可以是多个,以逗号分隔。 |
interfaceNames | String | 绑定的服务接口名称列表,以逗号分隔多个接口名称 。 |
其中,interfaceNames 参数用于给正在创建的服务组件绑定服务接口。SuperMap iServer 中服务组件与服务接口的对应情况请参考:表1 服务组件与服务接口对照表。
对 components 资源执行 POST 请求,返回的操作结果表述的结构如下(表述在响应消息的实体主体里):
字段 | 类型 | 说明 |
succeed | boolean | 创建和启动服务组件对应的配置信息是否成功。 |
newResourceLocation | String | 新创建的资源的 URI,即 component 资源。 |
对 components 资源:http://localhost:8090/iserver/manager/components.rjson 执行请求体如下的 POST 请求,创建新的服务组件 com_map。其中,使用的服务提供者是 ugcMapProvider-China400,绑定的服务接口是 rest。
{
"name": "com_map",
"type": "com.supermap.services.components.impl.MapImpl",
"providers": "ugcMapProvider-China400",
"interfaceNames": "rest",
"config": {
"clip": true,
"useCache": true
}
}
则返回 rjson 格式的响应结果如下:
{
"newResourceLocation": "http://localhost:8090/iserver/manager/components/com_map.rjson",
"postResultType": "CreateChild",
"succeed": true
}
由此产生了一个服务实例,其中服务组件名为 com_map,绑定的服务接口为 rest(REST 服务),该服务的 URI 地址为:http://localhost:8090/iserver/services/com_map/rest。服务的 URI 设置请参见服务的 URI 设置。
模拟 DELETE,批量删除服务组件。
请求体为组件名构成的字符串数组,参数如下:
类型 | 说明 |
String[] | 待删除服务组件的名称数组。 |
对 components 资源执行 PUT 请求,返回的操作结果表述的结构如下(表述在响应消息的实体主体里):
字段 | 类型 | 说明 |
succeed | boolean | 修改服务组件列表对应的配置信息是否成功。 |
对 ccmponents 资源:http://localhost:8090/iserver/manager/components.rjson 执行请求体如下的 PUT 请求,删除服务组件 com_map:
["com_map"]
则返回 rjson 格式的响应结果如下:
{"succeed": true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 components 资源是否存在,或者客户端是否有权限访问 components 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 components 资源是否支持<format>格式的表述。