protected String executeWSRequest(WebserviceInvocation invocation,
String path, List<NameValuePair> params) throws ApplicationException {
String response = null;
HttpGet httpGet = new HttpGet(getURI(path, params));
httpGet.setHeader(USER_AGENT, CLIENT_INFO);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
long elapsedMs = -currentTimeMillis();
response = httpClient.execute(httpGet, responseHandler);
elapsedMs += currentTimeMillis();
sleep(Math.max(INTERVAL_MS - elapsedMs, 0));