OData — запрос работает нормально в Chrome, 400 вызовов с Java

#java #odata

#java #odata

Вопрос:

У меня есть модульный тестовый код, который отлично работает годами. И он продолжает нормально выполняться для каждого запроса OData, кроме этого. Но внезапно URL-адрес:

http://services.odata.org/V2/Northwind/Northwind.svc/Employees ?$select=FirstName amp; $ filter=(Дата рождения eq datetime’1952-02-19T00:00:00Z’)

Возвращает значение 400. Мой код для вызова этого:

 String url = "http://services.odata.org/V2/Northwind/Northwind.svc/Employees?$select=FirstNameamp;$filter=(BirthDate eq datetime'1952-02-19T00:00:00Z')";
String requestParams = "http.header.Accept=application/json;";
// ...
HttpGet httpGet = new HttpGet(NetUtils.encodeUri(url));
setHeader(httpGet, url, requestParams);
response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() != 200)
    throw new IOException("Error: "   response.getStatusLine()   ". Reading url "   url);
  

Почему это вдруг 400? И только при вызове с Java работает нормально в Chrome.

Комментарии:

1. NetUtils.encodeUri(url) — url-адрес уже закодирован.

2. Боже, я чувствую себя глупо — да, именно так. Большое вам спасибо. (Если вы укажете это в качестве ответа, я с удовольствием выберу его.)