user3175643
user3175643

Reputation: 1

Apigee intermittent CLASSIFICATION_FAILED response code

I am using Apigee as an API proxy. I have 2-way ssl set up for the connection between Apigee and my backend server. I am getting an intermittent response code of CLASSIFICATION_FAILED from Apigee proxy (HTTP status code of 404), and the other times Apigee successfully forwards the requests to my backend server. When I have trace turned on for the API, and when I get the CLASSIFICATION_FAILED error, Apigee trace does not even record the transaction for the erroneous request. We have this API working for months. This problem only came up recently. Does anyone have an idea of what causes this?

Thanks!

Upvotes: 0

Views: 923

Answers (4)

Naveen Singh
Naveen Singh

Reputation: 21

This is a deployment issue.Looks like the bundle is not deployed on all the MPs.It is recommended to use maven/APIGEE Edge Management APIs for deployment.These tools would give better visibility into the deployment status of each Message Processors.

Upvotes: 0

Santanu Dey
Santanu Dey

Reputation: 2978

When your proxy is deployed, the artifacts actually get deployed to multiple nodes in a cluster. In rare cases one or more such nodes do not successfully deploy the proxy. In such scenarios you may get intermittent 404 responses.

To get past this problem

  1. Please do a redeploy of your application
  2. Check the status deployment on all nodes. You can do this by using the following API call.
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}

The response should look like below, where all nodes should show deployed status.



{
  "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"
  } ]
}

Upvotes: 1

Drago
Drago

Reputation: 141

Since we are both seeing this error i believe they are probably having some maintenance or something similar. Don't worry, it's not you ;)

Edit: deploy is also not possible so its not that API is only one that doesn't work.

Upvotes: 0

Divya Achan
Divya Achan

Reputation: 66

CLASSIFICATION_FAILED responses are usually sent when Apigee servers are not able to find your apiproxy and hence unable to route it to your backend.

A few pointers to check :

  1. Make sure your api call is correct including the basepath specified in your apiproxy.

  2. The virtualhosts specified in the bundle mention hostalias not being specified in your api call.

Upvotes: 0

Related Questions