Apigee间歇性CLASSIFICATION_FAILED响应代码

时间:2014-01-09 01:09:40

标签: http-status-code-404 apigee

我使用Apigee作为API代理。我为Apigee和我的后端服务器之间的连接设置了2路ssl。我从Apigee代理(HTTP状态代码为404)获得CLASSIFICATION_FAILED的间歇性响应代码,其他时候Apigee成功地将请求转发到我的后端服务器。当我为API启用跟踪时,当我收到CLASSIFICATION_FAILED错误时,Apigee跟踪甚至不记录错误请求的事务。我们有这个API工作了几个月。这个问题最近才出现。有没有人知道是什么原因引起的?

谢谢!

4 个答案:

答案 0 :(得分:1)

部署代理时,工件实际上会部署到群集中的多个节点。在极少数情况下,一个或多个此类节点无法成功部署代理。在这种情况下,您可能会得到间歇性的404响应。

要解决这个问题

  1. 请重新部署您的申请
  2. 检查所有节点上的状态部署。您可以使用以下API调用来执行此操作。
  3. curl -v https://api.enterprise.apigee.com/v1/organizations/{your-org-name}/environments/{env-name}/apis/{api-proxy-name}/deployments  -u {your-apigee-edge-username}:{your-apigee-edge-password}

    响应应如下所示,其中所有节点都应显示已部署状态。

    
    
    {
      "environment" : "prod",
      "name" : "your-api-proxy-name",
      "organization" : "your-organization-name",
      "revision" : [ {
        "configuration" : {
          "basePath" : "/",
          "steps" : [ ]
        },
        "name" : "62",
        "server" : [ {
          "status" : "deployed",
          "type" : [ "message-processor" ],
          "uUID" : "e6f83b53-8ab1-4325-bb77-df1bc4df8d59"
        }, {
          "status" : "deployed",
          "type" : [ "message-processor" ],
          "uUID" : "8a4549fe-ceff-44cf-967f-ab4a500a0479"
        }, {
          "status" : "deployed",
          "type" : [ "router" ],
          "uUID" : "3341eda0-fa82-4dcb-bbf1-5cf77dc03efc"
        }, {
          "status" : "deployed",
          "type" : [ "router" ],
          "uUID" : "c0b782f2-ccb6-4984-a0c0-0ac1db60a039"
        }, {
          "status" : "deployed",
          "type" : [ "router" ],
          "uUID" : "38f80c53-a22b-4427-ab95-a178482daa6b"
        }, {
          "status" : "deployed",
          "type" : [ "router" ],
          "uUID" : "28d847a2-5bfd-404d-985d-33d079d691d9"
        }, {
          "status" : "deployed",
          "type" : [ "router" ],
          "uUID" : "26467f86-e529-4135-b012-120e274755d3"
        }, {
          "status" : "deployed",
          "type" : [ "router" ],
          "uUID" : "807be0c7-dcc7-4be4-9d1e-30d26fa5519c"
        } ],
        "state" : "deployed"
      } ]
    }

答案 1 :(得分:0)

由于我们都看到了这个错误,我相信他们可能有一些 维修或类似的东西。 别担心,不是你;)

编辑:部署也是不可能的,因此它不是那个不起作用的API。

答案 2 :(得分:0)

当Apigee服务器无法找到您的apiproxy并因此无法将其路由到您的后端时,通常会发送CLASSIFICATION_FAILED响应。

要检查的几点:

  1. 确保您的api调用正确,包括apiproxy中指定的basepath。

  2. 捆绑包中指定的虚拟主机在api调用中未指定hostalias。

答案 3 :(得分:0)

这是一个部署问题。看起来没有在所有MP上部署捆绑包。建议使用maven / APIGEE Edge Management API进行部署。这些工具可以更好地了解每个消息处理器的部署状态。