public ODataCreateResult getResponseFromLocation(String completeUrl, String destinationName) throws ODataException {
HttpResponse httpResponse = null;
try {
Edm edm = metadataCache.getEdm(completeUrl, getHttpClient(destinationName), destinationRelevantHeaders,
errorHandler, cacheMetadata,metadataFilePath,cacheKey,isCacheRefresh);
EdmEntitySet eSet = edm.getDefaultEntityContainer().getEntitySet(this.entitySet);
HttpGet requestGet = new HttpGet(location);
httpResponse = getHttpClient(destinationName).execute(requestGet);
ODataConnectivityUtil.checkHttpStatus(httpResponse, errorHandler);
EntityStream entityStream = new EntityStream();
entityStream.setContent(httpResponse.getEntity().getContent());
entityStream.setReadProperties(DeserializerProperties.init().build());
String contentType = "application/atom+xml";
if (!httpResponse.getFirstHeader("Content-Type").toString().contains(contentType))
contentType = "application/json";
ODataEntry deepInsResponse = ODataClient.newInstance().createDeserializer(contentType).readEntry(eSet,
entityStream);
return new ODataCreateResult(httpResponse, deepInsResponse.getProperties());
} catch (IOException e1) {
HttpClientUtils.closeQuietly(httpResponse);
throw new ODataException(null, "IOException", e1);
} catch (EntityProviderException | EdmException e1) {
HttpClientUtils.closeQuietly(httpResponse);
throw new ODataException(ODataExceptionType.RESPONSE_DESERIALIZATION_FAILED,
"Error during serialization of input payload. " + e1.getMessage(), e1);
} finally {
HttpClientUtils.closeQuietly(httpResponse);
}
}
private boolean isNavigationFlow(){