Logic Apps调用第三方API返回202后自动轮询location头出现404如何解决
解决方案
阻止Logic App自动轮询的操作方法
- 你之前调整的
禁用location头检查配置无法终止轮询,该配置仅用于校验Location响应头的合法性,不会触动异步轮询的总开关。正确操作是在对应HTTP连接器的动作设置中开启 禁用异步模式 选项,开启后Logic App会直接返回POST请求拿到的202响应结果,不会自动发起后续的GET轮询请求。 - 如果你使用代码视图编辑Logic App定义,可直接在对应HTTP操作的
inputs配置段中添加参数"disableAsyncPattern": true即可生效。 - 若你不想完全关闭异步能力,也可以自定义轮询策略:在HTTP动作的重试配置中设置最大重试次数、重试间隔阈值,或是增加条件分支,当轮询请求返回404达到指定次数后主动终止后续请求。
责任归属说明
按照HTTP RFC规范要求,接口返回202 Accepted状态码时携带的Location响应头,必须指向一个后续可访问的、用于查询任务处理状态的有效资源。第三方接口返回的Location地址直接响应404,本身不符合HTTP协议规范,因此第三方服务提供商需要适配修复:要么提供有效的轮询地址,要么不需要客户端轮询时就不要返回202状态码及Location头,直接返回对应业务处理状态的2xx响应即可。
内容的提问来源于stack exchange,提问作者TEZZ
相关产品推荐
相关产品推荐

