我可以使用不同的浏览器和Postman成功访问以下OData服务,即使我在代理后面:
像
我做错了什么,我还有哪些选择?非常感谢您。
String SERVICE_ROOT =
http://services.odata.org/V4/TripPinService/
然而,在Java中使用Apache Olingo时,我无法访问此服务。像
-Dhttp.proxySet=true -Dhttp.proxyHost=http-proxy.example.com -Dhttp.proxyPort=8080
这样的JVM参数允许我执行基本的URL功能,例如检索HTTP状态代码(谷歌返回200
)。然而,使用ODataClient访问OData服务是不可能的(下面是代码)。没有抛出任何错误。ODataClient client = ODataClientFactory.getClient();
ODataServiceDocumentRequest request = client.getRetrieveRequestFactory().getServiceDocumentRequest(SERVICE_ROOT);
ODataRetrieveResponse<ClientServiceDocument> response = request.execute();
我尝试使用Olingo中的代理功能,但没有成功:
client.getConfiguration().setHttpClientFactory(new ProxyWrappingHttpClientFactory(URI.create("http://http-proxy.example.com:8080")));
我做错了什么,我还有哪些选择?非常感谢您。