MENU

[泛微 EC9] 自定义接口在线编辑java代码保存没反应解决方案

• 2026 年 08 月 07 日 • 阅读: 1 •

image.png

在线编辑 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 字段中的
,而不是存放在各节点的本地文件里。