я могу успешно достигнуть следующих OData-сервиса с использованием различных браузеров, а также с помощью Почтальон даже так я за прокси-сервером: String SERVICE_ROOT =
http://services.odata.org/V4/TripPinService/Как использовать Apache Olingo за прокси
Однако, используя Apache Olingo в Java Я не удалось получить доступ к этой услуге.
Параметры JVM, такие как -Dhttp.proxySet=true -Dhttp.proxyHost=http-proxy.example.com -Dhttp.proxyPort=8080
, позволяют выполнять основные функции URL-адреса, такие как получение кодов состояния HTTP (google возвращает 200
). Тем не менее доступ OData-Service с использованием ODataClient невозможен (код ниже). Ошибок не возникает.
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")));
Что я делаю не так, какие варианты у меня осталось?
спасибо.
Спасибо за ввод. Я решил проблему самостоятельно. Тем не менее я принял ваш ответ, потому что я очень оценил ваш вклад. Спасибо! :) –
Спасибо! У меня была аналогичная проблема, и, ища решение, я наткнулся на ваш вопрос. Предлагаемый выше подход решил проблему в моем случае. – GeoK