重复标头错误

时间:2014-11-06 10:02:11

标签: apigee

Apigee中是否有办法处理带有Duplicate标头的响应。我有一个目标端点返回两个Content-Type标头字段,Apigee正在向消费者返回502并带有错误

{
  "fault": {
    "faultstring": "Duplicate Header \"Content-type\"",
    "detail": {
      "errorcode": "protocol.http.DuplicateHeader"
    }
  }
}

有没有办法在Apigee中处理这个并返回带有最后一个Content-Type标题的响应?

2 个答案:

答案 0 :(得分:0)

没有简单的方法......

首先,这是一个糟糕的响应负载(但你可能已经知道了)。我有一点时间重复这个问题,因为Apache(我在我的服务器上使用的)甚至不会让我添加第二个Content-Type标头,它只是覆盖它。

Apigee是用Java编写的 - 看起来它是java引擎,它在重复的标题上窒息而漂亮的502只是被捕获的错误。无论您将其作为目标还是作为ServiceCallout调用,都会遇到相同的故障。

解决此问题的唯一方法是构建一个使用node.js来执行标注的代理。理论上,你可以创建一个单独的代理,它只使用node来读取响应并返回一个干净的有效负载,但要小心你不要不小心回调到同一个代理并创建一个递归循环。

答案 1 :(得分:0)

另一种方法是使用python callout并在那里进行HTTP调用。