503 Service Unavailable(Intermittent issue) when calling Backend Webservice from Apigee On-Cloud

Hi Team,

I'm calling a Backend Webservice through it's NATed IP address from Apigee Edge On-Cloud variant and only one or two request is successful and 99% of the request to Backend is failing with the below error. Could you please help me on this?

Error:

HTTP/1.1 503 Service Unavailable

Date:

Thu, 15 Dec 2016 13:02:19 GMT

Content-Length:

279

Connection:

keep-alive

Content-Type:

application/json

Server:

Apigee Router

{

"Envelope": {

"encodingStyle": "http://schemas.xmlsoap.org/soap/encoding/",

"Body": {

"Fault": {

"faultcode": "soap:Server",

"faultstring": "The Service is temporarily unavailable",

"faultactor": {},

"detail": {

"source": {

"errorcode": "messaging.adaptors.http.flow.ServiceUnavailable"

}

}

}

}

}

}

The NATed IP I'm calling is Http and my HTTPTargetConnection is below. I appreciate your quick response.

<HTTPTargetConnection>

<URL>http://[HostIP]:[PortNum]/Implementation/WebServiceGateway/WebServiceGatewayEndpoint</URL>

</HTTPTargetConnection>

Many thanks.

0 9 1,956
9 REPLIES 9

Calling that target URL directly from external location works consistently? Is it only failing when called via edge? You could use something like geopeeker or even just curl from google cloud shell or similar.

@Carlos Eberhardt Thanks for taking out your time and responding. That target URL is a SOAP based Webservice and tried calling from SOAP UI and it failed with "SocketTimeout" Exception. Also when I hit that target url in the browser in the form http://[HostIP]:[PortNum]/Implementation/WebServiceGateway/WebServiceGatewayEndpoint?WSDL, nothing coming up.

Yup, better check with back end network side to see if whitelisting needs to be done. Since you also got failed connections it seems likely that something on the target network side needs to be adjusted to allow the traffic from edge to reach the service.

Thanks much @Carlos Eberhardt. Any idea how do we get TCP dumps for analysis ?

You'll need to contact Apigee Support to do that. But if the services are not exposed externally a tcp dump won't reveal anything more than that.

Hi @Mathanprasath k,

1) It is possible that there are more than one NATED/Public IP and from one of them ,the backend ports are not opened. Can you ask APIGEE cloud team to check that.

2)Also, is it possible that the backend team might have done some whitelisting of IP addresses for only few NATED IP and not all NATED IP.

3) Also, other way is to capture TCP DUMP and check.

4) Please ask for system.log file from the Message Processor and check the logs.

@gbhandari Thanks Gaurav for taking out your time and responding. With respect to your first two suggestions, yes, I will definitely have to check with corresponding team out there. Kindly tell me how do I get TCP DUMP to troubleshoot the issue. Since I work on Edge Cloud, I believe I need to request Apigee Global Support team with respect to your 4th suggestion.

Hi @Mathanprasath k

To take TCP DUMP, the APIGEE team need to execute the tcpdump commands which can be analysed in WIRESHARK software.

The tcpdumps are basically the network layer packets which consists of tcp, handshakes packets.

Thanks much@gbhandari . Will have a check on these.