升级CDS v6后SAP CAP Node.js调用OData服务报404错误求助
问题描述
我们在SAP BTP的Cloud Foundry环境中运行4个CDS服务,其中Node.js开发的locking service需要调用Java开发的e service,通过OData v4协议在本地网络内通信,该跨服务调用依赖Destination Service获取访问权限。
将CDS从v5升级至v6.5.0后,此调用出现404错误:请求被错误发送至https://destination-configuration.cfapps.eu10.hana.ondemand.com,而非目标服务地址;但切换回CDS v5后调用恢复正常。同时我们同步将SAP Cloud SDK从v1升级至v2,其他无跨服务调用的Node.js服务升级后运行正常,且已按官方文档刷新了接口文件。
详细信息
- 错误日志:请求发送至上述错误地址,返回404状态码
- 服务升级步骤:
- 修改
package.json将CDS版本升级至v6 - 指定Node.js版本为
^16 - 升级SAP Cloud SDK相关依赖
- 修改
- App-router升级步骤:
- 调整Node.js版本
- 清理应用缓存
- 相关配置文件:包含
mta.yaml片段、package.json配置、服务调用代码、Destination导出信息
疑问
- 是否有类似问题的已知解决方案?
- 能否提供CDS v6环境下,使用外部Destination的Node.js OData客户端配置及代码示例?
- 为何Destination测试正常,但实际跨服务调用却返回404?
mta.yaml中对Destination Service的引用是否存在冗余,或是引发问题的原因?- 本次升级是否遗漏了关键步骤?
- 当前执行的升级步骤是否有效?
- 还有哪些排查方向或建议?
内容的提问来源于stack exchange,提问作者vince reynolds
相关产品推荐
相关产品推荐

