Reputation: 1
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
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
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
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
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
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 :
Make sure your api call is correct including the basepath specified in your apiproxy.
The virtualhosts specified in the bundle mention hostalias not being specified in your api call.
Upvotes: 0