components


URI

<managerRoot_uri>/components[.<format>]

支持的方法

GETPOSTPUTHEAD

父资源

managerRoot

子资源

component

介绍

服务组件设置列表资源。components 资源列举了所有的服务组件配置,可以通过 POST 操作创建一个新的服务组件,也可以通过 PUT 操作更改已有的服务列表。

支持的方法:

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

资源层次

HTTP 请求方法

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

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

GET 请求

获取服务组件列表。

响应结构

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

}]

POST 请求

创建并启动一个服务组件。

请求参数

字段 类型 说明
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 设置

PUT 请求

模拟 DELETE,批量删除服务组件。

请求参数

请求体为组件名构成的字符串数组,参数如下:

类型 说明
String[] 待删除服务组件的名称数组。

 

响应结构

对 components 资源执行 PUT 请求,返回的操作结果表述的结构如下(表述在响应消息的实体主体里):

字段 类型 说明
succeed boolean 修改服务组件列表对应的配置信息是否成功。

 

响应示例

 对 ccmponents 资源:http://localhost:8090/iserver/manager/components.rjson 执行请求体如下的 PUT 请求,删除服务组件 com_map:

["com_map"]

则返回 rjson 格式的响应结果如下:

{"succeed": true}

HEAD 请求

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

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

请参见