BC V22 W1本地部署:API v2.0标准端点访问404求助
Business Central V22 W1 标准API端点404问题排查
问题背景
首次集成本地部署的Business Central,实施阶段从V16升级至V22 W1,开发内容包含创建普通日记账、集成行并过账。V16版本下可正常访问customers、currencies、journals等标准API端点,但升级到V22后出现以下异常:
- 可正常查询
companies或特定公司资源,返回结果无误; - 访问特定公司下的
customers、currencies等端点时,返回404未找到错误。
已排查确认:API仅支持全局开启/关闭,无法单独启用/禁用特定端点,且请求URL格式正确。
可能的原因及解决方向
1. API版本路径变更
V22默认使用的API版本为v2.1或更高,而V16依赖的是v2.0版本。若请求仍沿用旧版本路径(如/v2.0/...),会导致端点匹配失败。
- 解决:检查请求URL中的API版本,替换为V22对应的版本(如
/v2.1/或/beta/);或在Business Central管理中心确认启用的API版本范围。
2. 扩展/自定义对象修改标准API配置
升级过程中,自定义扩展或第三方扩展可能修改了标准API的发布状态,或覆盖了标准表的API暴露属性。
- 解决:
- 在Business Central客户端进入系统管理 > API 页面,检查
customers、currencies等对应API的发布状态是否为「已发布」; - 排查自定义扩展代码,确认标准表(如Customer表)的
[ApiPublished(true)]属性未被移除或设置为false。
- 在Business Central客户端进入系统管理 > API 页面,检查
3. 本地部署Web服务路由异常
本地部署环境中,IIS的URL重写规则、虚拟目录配置可能在升级后出现异常,导致特定API端点路由失败。
- 解决:
- 检查IIS中Business Central站点的URL重写规则,确认
/api/...前缀的路由规则配置正确; - 查看Business Central服务器事件日志,排查是否存在API路由初始化失败的错误信息;
- 重新发布Business Central Web服务,确保所有标准API端点完成注册。
- 检查IIS中Business Central站点的URL重写规则,确认
4. 权限配置升级后受限
V22对API权限控制更严格,当前使用的服务账号可能缺失访问这些标准端点的权限。
- 解决:
- 确认服务账号已分配D365 Business Central API权限集,或包含对应表的API操作权限;
- 在Business Central客户端检查用户权限集,确保允许访问
Customer、Currency等表的API读写操作。
5. 多公司场景下的API发布状态差异
若本地部署存在多公司,即使API全局开启,部分公司可能未单独启用特定API端点的发布。
- 解决:针对出现问题的目标公司,进入系统管理 > API 页面,筛选对应公司后检查标准API的发布状态。
内容的提问来源于stack exchange,提问作者Ruald Venter
相关产品推荐
相关产品推荐

