Salesforce HTTP调用流报错,如何添加Accept请求头获取JSON响应?
解决Salesforce HTTP调用流添加Accept请求头的问题
你遇到的错误信息如下:
Callout failed for invocable action testexternalservice.testaction. Expected declared response media type application/json, but got application/atom+xml; charset=utf-8; type=feed for operation testaction and service testexternalservice
这确实是因为外部服务返回了XML格式,但你的调用流预期JSON格式导致的,要添加Accept: application/json请求头,操作步骤如下:
具体操作步骤
- 打开你的Salesforce Flow编辑器,找到对应的HTTP Callout动作节点
- 点击节点进入配置界面,滚动到Request Headers(请求头)区域
- 点击「Add Header」按钮,新增一行配置
- 在Header Name输入框填写
Accept,Header Value输入框填写application/json - 保存流配置后重新调试,验证响应格式是否符合要求
额外排查提示
- 如果添加后还是返回XML,可尝试同时添加
Content-Type: application/json请求头,部分外部服务需要同时指定这两个头才会返回JSON响应 - 检查External Service的定义:确认服务中对应操作的响应媒体类型是否设置为
application/json,避免流的预期格式与服务定义不匹配
内容的提问来源于stack exchange,提问作者Divyesh Jesadiya
相关产品推荐
相关产品推荐

