You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Business Central 22 HTTP请求无法在Fiddler中显示求解决方案

解决Fiddler无法捕获Business Central内部Web请求的方案

一、配置Business Central服务的代理参数

  • 找到BC服务器安装目录下的CustomSettings.config文件(默认路径类似C:\Program Files\Microsoft Dynamics 365 Business Central\XX\Service)
  • 添加或修改以下配置项:
    <add key="WebProxyServer" value="127.0.0.1:8888" />
    <add key="WebProxyBypassOnLocal" value="false" />
    <add key="WebProxyUseDefaultCredentials" value="true" />
    
  • 保存后重启BC服务(在服务管理器中找到Microsoft Dynamics 365 Business Central Server重启)

二、调整Fiddler的监听与证书设置

  • 打开Fiddler,进入Tools > Options > Connections,勾选Allow remote computers to connect,确保监听端口为8888(与上述配置一致),重启Fiddler
  • 处理HTTPS请求:进入Tools > Options > HTTPS,勾选Capture HTTPS CONNECTs和Decrypt HTTPS traffic,点击Actions > Export Root Certificate to Desktop
  • 将导出的证书导入到本地计算机的受信任的根证书颁发机构存储中(而非当前用户存储):双击证书,选择本地计算机,按向导完成导入

三、排查BC代码中的代理绕过逻辑

  • 检查自定义AL代码中是否存在硬编码跳过代理的逻辑,例如:
    var
        HttpClient: HttpClient;
        Handler: HttpHandler;
    begin
        Handler := HttpClient.DefaultHandler();
        Handler.Proxy := null; // 该设置会跳过代理,临时注释后测试
        HttpClient.DefaultHandler(Handler);
    end;
    
  • 若存在类似设置,临时注释后重新发布扩展,再测试请求捕获

四、针对BC服务进程定向捕获

  • 打开任务管理器,找到Microsoft.Dynamics.Nav.Server.exe进程,记录其进程ID
  • 在Fiddler中进入Rules > Customize Rules,找到OnBeforeRequest方法,添加以下代码:
    if (oSession.ProcessID == 你的BC进程ID) {
        oSession["ui-color"] = "orange"; // 将BC进程的请求标记为橙色,便于识别
    }
    
  • 保存规则后,Fiddler会自动加载,BC发起的请求将被高亮标记

五、常见排坑点

  • 若BC服务运行在Local System账户下,代理设置可能失效:建议将服务账户改为具备本地登录权限的普通账户,再为该账户设置系统代理(控制面板>Internet选项>连接>局域网设置)
  • 测试优先调用简单HTTP接口(如http://httpbin.org/get),排除HTTPS证书或复杂接口的干扰
  • 确认Fiddler未启用请求过滤规则(如Filters选项卡中不要勾选Hide 304s或其他过滤条件)

内容的提问来源于stack exchange,提问作者TSL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:52:36