注册服务(通过 REST API)

发送反馈


SuperMap iPortal 的 REST API 提供了注册服务的功能,可以通过 services 资源的 POST 请求来实现。

通过 REST 方式访问和使用 iPortal 门户中的所有资源时,需要携带验证信息,比如可以在 HTTP 请求头中携带Cookie 信息,或者可以基于 Token 访问受保护的 REST 服务资源。其中 Cookie 信息可以在登录时获取,而 SuperMap Token 可以通过 token 资源获取

示例:通过 services 资源注册单个服务,不需要提供 iPortal 的用户名和密码,仅需携带令牌 token=9jD451OhUlsDSJkJe9Wb34AkFS5k8I6FMy2UriguJkS2X-qXofeME0gSDTgW6003REFso7YhS3E5TNdzUoQWXg..。

对 services 资源发送 POST 请求:

http://localhost:8190/iportal/web/services.rjson?token=9jD451OhUlsDSJkJe9Wb34AkFS5k8I6FMy2UriguJkS2X-qXofeME0gSDTgW6003REFso7YhS3E5TNdzUoQWXg..

注册一个 SuperMap REST 服务,传入 rjson 请求体如下:

{

    "type": "SUPERMAP_REST",

    "tags": [

        "China"

    ],

    "authorizeSetting": [

        {

            "entityName": "GUEST",

            "entityType": "USER",

            "permissionType": "READ"

        }

    ],

    "metadata": {

        "mdContact": {

            "rpIndName": "",

            "rpOrgName": "",

            "rpPosName": "",

            "rpCntInfo": {

                "cntAddress": {

                    "delPoint": "",

                    "city": "",

                    "adminArea": "",

                    "postCode": "",

                    "country": "",

                    "eMailAdd": ""

                },

                "voiceNum": "",

                "faxNum": ""

            }

        },

        "dataIdInfo": {

            "dataIdent": {

                "idCitation": {

                    "resTitle": "map"

                },

                "idAbs": ""

            }

        },

        "distInfo": {

            "onLineSrc": {

                "linkage": "http://192.168.112.217:8090/iserver/services/map-china400/rest"

            }

        }

    }

}

其中:

上述 POST 请求发送后,服务端返回注册的服务如下所示:

{

    "newResourceID": "115",

    "newResourceLocation": "http://localhost:8190/iportal/web/services/115",

    "succeed": true

}

即为申请注册的服务的 ID 和服务地址,此时还需要管理员的审核,审核通过后才能注册到 iPortal 中。关于管理员的服务审核资源可以访问 servicesCheckStatus 资源