
在线编辑 Java 代码,点击保存后页面转圈或毫无反应,这是 EC9 安全拦截机制导致的常见问题。
解决方案来自泛微客服,实测有效,记录于此。
问题表现
- 路径:自定义接口 → 在线编辑 Java 代码
- 现象:保存按钮无反馈,代码未更新,接口404
根本原因
EC9 对非白名单 IP 的接口操作进行了拦截,若不在白名单中,保存动作被静默丢弃。
解决步骤(三步)
1. 放行标记文件
将 weaver_isFix_integration_action.properties 放入 ecology/WEB-INF/prop/,内容仅一行:
isFix=1该文件告知系统启用修复逻辑。
2. 获取真实来源 IP
查看安全日志:
\ecology\WEB-INF\securitylog\systemSecurity_yyyy-MM-dd.log搜索最近的关键字:
getInterfaceRegisterCustomOperation找到类似记录:
Source IP: 124.70.128.80将该 IP 记录下来(这就是你的操作机器出口 IP)。
3. 配置白名单
编辑 weaver_security_rules_for_cus_access_white_list.xml,将记录到的 IP 加入:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<esb-action-allow-ips>
<ip>127.0.0.1</ip>
<ip>你的实际IP</ip> <!-- 替换为此处 -->
<!-- 可配置多个,这里丸子还检查了一下SecurityRuleSyncEsb,使用了String.startsWith(),所以,你如果需要通配,直接写ip前面部分即可 比如 124.70.128 -->
</esb-action-allow-ips>
</root>将该文件放到 ecology/WEB-INF/securityXML/ 目录下。
生效操作(无需重启)
- 使用
sysadmin登录系统 - 访问:
http://你的EC地址/updateRules.jsp - 等待约 60 秒,使缓存规则刷新
- 重新测试保存功能
集群环境:每个节点需单独访问 /updateRules.jsp验证
保存代码后,检查日志中不再出现该拦截记录,代码生效即代表成功。
致谢
本文方案源自泛微官方客服支持,特此感谢。
若问题依旧,请检查日志中是否有其他报错,或确认 IP 是否准确(若经过代理,需获取真实客户端 IP)。
顺便!我确认了下:在线编辑需要挨个去集群环境编辑吗?
答:不需要!节点附加操作(自定义接口 / JavaCode),它的代码是存储在数据库表 ActionSetting 的 javacode 字段中的,而不是存放在各节点的本地文件里。
[泛微 EC9] 自定义接口在线编辑java代码保存没反应解决方案 by https://oneszhang.com/archives/209.html