We are facing an issue, where our IBM HTTP server is returning a '400 Bad Request' Error and we are unable to find the reason why.
The request is a SOAP request which is supposed to be served by a Tibco SOAP service, but the request is not reaching the Application (No logs for the same in Application logs) - and is being errored at the HTTP server level.
The HTTP server we use is only as a Proxy and just pass the request to the application.
From the access logs:
10.239.12.250 - - [17/Nov/2016:10:23:19 +0000] "POST /OnlineCheck HTTP/1.1" 400 - 300 "Java1.7.0_40" 300/300021637
When I checked the Error logs:
[Thu Nov 17 10:28:19 2016] [error] (70007)The timeout specified has expired: proxy: prefetch request body failed to [::1]:9876 (temp.adv.com) from 10.213.123.12
The error is returned 5 minutes after getting the request, as you can see from the logs.
Some points to be noted:
The error is only from one client (multiple clients use the same service) and they use a OSB/Weblogic for Load balancing
This happends only for 10-20 percent of the requests and is random. The same request when sent again by the Load Balancer (when it doesn't get any response after 2.5 minutes, the server responds properly)
I would like to know if there is any way of capturing what the error might be due to? What can be the possible reasons for the 400\Bad Request Error?