#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. Боже, я чувствую себя глупо — да, именно так. Большое вам спасибо. (Если вы укажете это в качестве ответа, я с удовольствием выберу его.)