Apigee中是否有办法处理带有Duplicate标头的响应。我有一个目标端点返回两个Content-Type标头字段,Apigee正在向消费者返回502并带有错误
{
"fault": {
"faultstring": "Duplicate Header \"Content-type\"",
"detail": {
"errorcode": "protocol.http.DuplicateHeader"
}
}
}
有没有办法在Apigee中处理这个并返回带有最后一个Content-Type标题的响应?
答案 0 :(得分:0)
没有简单的方法......
首先,这是一个糟糕的响应负载(但你可能已经知道了)。我有一点时间重复这个问题,因为Apache(我在我的服务器上使用的)甚至不会让我添加第二个Content-Type标头,它只是覆盖它。
Apigee是用Java编写的 - 看起来它是java引擎,它在重复的标题上窒息而漂亮的502只是被捕获的错误。无论您将其作为目标还是作为ServiceCallout调用,都会遇到相同的故障。
解决此问题的唯一方法是构建一个使用node.js来执行标注的代理。理论上,你可以创建一个单独的代理,它只使用node来读取响应并返回一个干净的有效负载,但要小心你不要不小心回调到同一个代理并创建一个递归循环。
答案 1 :(得分:0)
另一种方法是使用python callout并在那里进行HTTP调用。