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

Azure APIm策略执行正常但无响应返回问题求助

问题根源

你在backend阶段用send-request(mode="new")调用后端服务后,只是把响应存到了response变量里,但没把这个变量的内容设置成APIM给调用者的响应体,所以返回的负载是空的。默认情况下,当你手动用send-request发起后端调用而不是转发原始请求时,APIM不会自动把这个响应返回给客户端。

修复步骤

修改outbound策略,添加set-body策略,把response变量里的后端响应内容赋值给APIM的出站响应:

<outbound>
    <!-- 将后端响应体设置为APIM的返回内容 -->
    <set-body>@(((IResponse)context.Variables["response"]).Body.As<string>())</set-body>
    <!-- 可选:同步后端响应的状态码和描述 -->
    <set-status code="@(((IResponse)context.Variables["response"]).StatusCode)" reason="@(((IResponse)context.Variables["response"]).ReasonPhrase)"/>
    <base/>
</outbound>
额外验证建议
  • 检查APIM追踪里的response变量:确认后端服务确实返回了非空的响应内容,排除后端本身返回空的可能。
  • 验证令牌解析逻辑:确保bearerToken变量中提取的令牌路径bearerToken正确,避免因令牌无效导致后端返回空数据。
  • 可以在backend的send-request后加日志,实时查看响应内容:
    <log-to-eventhub logger-id="你的日志ID">@(((IResponse)context.Variables["response"]).Body.As<string>())</log-to-eventhub>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:05:04