# 高德地图向下兼容补丁包部署前配置操作文档(V8.2SP1 专用)

# 操作总览

补丁包部署前需要完成 4 件事:

  1. 创建三方互信,记录 三方互信 ID三方互信 Secret
  2. 配置 V8.2SP1 的三方互信接口授权 properties。
  3. 手工追加“系统定位服务设置”菜单 metadata。
  4. 修改 _AMapService 的代理配置并重启 OA。

# 一、创建三方互信

登录 OA 系统管理员后台,进入:

信息集成配置 -> 三方互信访问授权

新建授权,建议名称填写:

高德地图API代理服务

界面参考:

1780733400521.png

绑定 IP 推荐填写:

127.0.0.1

原因:OA 和地图代理服务 _AMapService 部署在同一套 ApacheJetspeed 下,代理服务建议通过本机地址访问 OA:

http://127.0.0.1:OA实际HTTP端口

如果现场不使用 127.0.0.1,而是让代理服务通过服务器内网 IP 访问 OA,则 绑定 IP 必须改成 OA 实际看到的代理请求来源 IP,并且第四步的 mapservice.base-url 也要使用同一种地址。

回调地址填写格式:

http://127.0.0.1:OA实际HTTP端口/_AMapService/_callback/channel-token

示例:OA 实际 HTTP 端口是 8088,则填写:

http://127.0.0.1:8088/_AMapService/_callback/channel-token

注意:

  • 回调地址不要带 /seeyon
  • 端口必须是 OA 实际 HTTP 端口,只有现场实际使用 80 端口时才可以省略端口。
  • 创建完成后,记录后台生成的 三方互信 ID(channelId)三方互信 Secret(channelSecret)

集群环境中,每个节点的本地访问端口必须一致。例如所有节点都能通过:

http://127.0.0.1:8088

访问本节点 OA 和 _AMapService

如果节点 1 是 8088、节点 2 是 8089,一个三方互信回调地址无法同时适配所有节点。此时需要先统一各节点 OA/代理服务 HTTP 端口,再配置三方互信。

# 二、配置 V8.2SP1 接口授权

V8.2SP1 没有 ctp_rest_access 表,不要执行 SQL

打开文件:

ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/base/dataSynchronizationAccessInfo.properties

在文件末尾追加以下内容,把 替换为三方互信ID 改成第一步记录的 三方互信 ID(channelId)。多个互信 ID 用英文逗号分隔。

## 高德地图代理服务
com.seeyon.ctp.rest.resources.MapserviceGatewayResource#validateSession#com.seeyon.apps.mapservice.dto.MapGatewayDTO$ProxySessionRequest=替换为三方互信ID
com.seeyon.ctp.rest.resources.MapserviceGatewayResource#validateAuthorization#com.seeyon.apps.mapservice.dto.MapGatewayDTO$ProxySessionRequest=替换为三方互信ID
com.seeyon.ctp.rest.resources.MapserviceGatewayResource#checkQuota#com.seeyon.apps.mapservice.dto.MapGatewayDTO$ProxySessionRequest=替换为三方互信ID
com.seeyon.ctp.rest.resources.MapserviceGatewayResource#preDeduct#com.seeyon.apps.mapservice.dto.MapGatewayDTO$ProxySessionRequest=替换为三方互信ID
com.seeyon.ctp.rest.resources.MapserviceGatewayResource#confirmDeduct#com.seeyon.apps.mapservice.dto.MapGatewayDTO$ConfirmDeductRequest=替换为三方互信ID
com.seeyon.ctp.rest.resources.MapserviceGatewayResource#cancelPreDeduct#com.seeyon.apps.mapservice.dto.MapGatewayDTO$CancelPreDeductRequest=替换为三方互信ID

配置文件界面参考:

1780733474141.png

集群环境每个 OA 节点都要修改该文件。

# 三、手工追加菜单 metadata

V8.2SP1 存在多个小版本,现场菜单 metadata 可能不完全一致,不要直接覆盖现场文件

请打开现场 OA 对应 metadata 文件,手工追加 system_location_config 节点到“系统设置”菜单的同级子菜单最后一项。

角色菜单 现场需要修改的 OA 文件
系统管理员 ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/metadata/entRoleStd/menu-SystemAdmin.xml
A6 单位管理员 ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/metadata/entRoleStd/menu-AccountAdministrator-A6.xml
三员分离系统级系统管理员 ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/metadata/govRoleStd/menu-GroupSystemAdmin.xml
A6 单位级系统管理员 ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/metadata/govRoleStd/menu-UnitSystemAdmin-A6.xml
企业版单位级系统管理员 ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/metadata/govRoleStd/menu-UnitSystemAdmin-Enterprise.xml

手工添加位置:

  1. 打开上表中的现场 OA 文件。
  2. 找到“系统设置”菜单节点,通常是 name="system.menuname.BasicConfig"desc="系统设置"<menu>
  3. 在该节点的 <submenus> 内,作为最后一个同级 <menu> 追加“系统定位服务设置”。
  4. sort 使用当前同级菜单最大 sort + 1,不要和已有菜单重复。

新增内容截图如下。图中的 sort="示例值" 需要按现场同级最大 sort + 1 修改。

1780733569481.png

1780733598684.png

1780733622147.png

1780733644292.png

1780733663581.png

如果现场文件里已经存在 system_location_config,不要重复添加,只确认 plugin="mapservice"url="/mapservice/locationView.do?method=manager" 是否正确。

可用以下命令检查是否已经添加:

grep -R "system_location_config" 'ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/metadata'

集群环境每个 OA 节点都要手工追加。

# 四、修改代理配置

配置文件位置:

ApacheJetspeed/webapps/_AMapService/WEB-INF/classes/amap-gateway.properties

修改文件中的以下配置:

# OA 和代理同机部署,填写 127.0.0.1 + OA 实际 HTTP 端口,不要带 /seeyon。
mapservice.base-url=http://127.0.0.1:OA实际HTTP端口

# 第一节创建出的三方互信 ID / Secret。
mapservice.channel-id=替换为三方互信ID
mapservice.channel-secret=替换为三方互信Secret

# 连接池等级。不确定时使用 high。
mapservice.oapi.http.pool-level=high

连接池等级说明:

等级 单路由最大连接数 总最大连接数 建议场景
standard 50 100 小客户、低并发。
high 150 300 推荐默认值,适合大多数客户。
large 300 600 大客户或地图调用并发较高。
stress 800 1600 压测或专项保障,不建议长期默认使用。

# 4.1 可选:指定代理日志目录

如果不配置日志目录,代理日志默认落到 JVM 临时目录,例如:

ApacheJetspeed/temp/_AMapService/logs

如果希望日志固定放在 _AMapService 应用目录下,需要在 OA/Tomcat 启动 JVM 参数中增加:

-Damap.log.home=ApacheJetspeed/webapps/_AMapService/logs

这不是 amap-gateway.properties 配置项,而是 JVM 启动参数。修改后需要重启 OA/Tomcat 才会生效。

# 五、重启与验证

完成以上配置后,重启 OA/Tomcat。

验证步骤:

  1. 登录后台,确认能看到“系统定位服务设置”菜单。
  2. 打开“系统定位服务设置”,确认页面能正常进入。
  3. 触发一次真实地图调用,确认请求走 _AMapService 代理。
  4. 查看代理日志:
    • 默认目录:ApacheJetspeed/temp/_AMapService/logs
    • 如果配置了 -Damap.log.home:查看配置的日志目录

常见问题定位:

现象 优先检查项
后台没有菜单 第三节是否在正确的 entRoleStd / govRoleStd 现场 XML 中手工追加了 system_location_config,并重启 OA。
返回“接口访问未授权” 绑定 IP、dataSynchronizationAccessInfo.propertiesmapservice.channel-idmapservice.channel-secret
channel token 回调超时 三方互信回调地址的 IP、端口是否能从 OA 进程访问到 _AMapService
代理访问 OA 失败 mapservice.base-url 是否使用正确端口,且不要带 /seeyon
编撰人:tanghu