首页 > 解决方案 > OData - 在 Chrome 中查询很好,用 Java 调用 400

问题描述

我有多年来运行良好的单元测试代码。并且对于除此之外的每个 OData 查询,它都可以继续正常运行。但突然,网址:

http://services.odata.org/V2/Northwind/Northwind.svc/Employees ?$select=FirstName&$filter=(BirthDate%20eq%20datetime'1952-02-19T00:00:00Z')

正在返回 400。我调用它的代码是:

String url = "http://services.odata.org/V2/Northwind/Northwind.svc/Employees?$select=FirstName&$filter=(BirthDate%20eq%20datetime'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 中正常工作。

标签: javaodata

解决方案


推荐阅读