[
https://issues.apache.org/jira/browse/OLINGO-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yufei updated OLINGO-1614:
--------------------------
Description:
Hi
This is the code to get metadata. time used is 28 seconds. It's too slow.
It's around 10 seconds if I use HttepoRequest and XML parsing with
DocumentBuilder.
Is there anyway to make it faster?
I checked with 5.0.0 and 4.10.0, it's the same.
Thank you.
//////////////////////////////////////////////////////////////////////////////
private static void getMetadata2(String accessToken)
{
// Create an OData client
ODataClient client = ODataClientFactory.getClient();
// Specify the OData service endpoint
String serviceRoot =
"https://orgc8a62a2c.api.crm.dynamics.com/api/data/v9.0/";
String metadataEndpoint = serviceRoot; // + "$metadata";
EdmMetadataRequest request =
client.getRetrieveRequestFactory().getMetadataRequest(metadataEndpoint);
// request.setAccept("application/xml"); // Set the desired media type
request.addCustomHeader(HttpHeader.AUTHORIZATION, "Bearer " +
accessToken); // Add the access token
// Execute the request
long startTime = System.nanoTime();
ODataRetrieveResponse<Edm> response = request.execute();
long endTime = System.nanoTime();
long elapsedTime = endTime - startTime;
// Convert elapsed time to seconds
double elapsedTimeInSeconds = (double) elapsedTime / 1e9;
// Print the elapsed time in seconds
System.out.println("Time consumed for request.execute() : " +
elapsedTimeInSeconds + " seconds");
int code = response.getStatusCode();
String ret = response.getStatusMessage();
Edm edm = response.getBody();
}
was:
Hi
This is the code to get metadata. time used is 28 seconds. It's too slow.
It's around 10 seconds if I use HttepoRequest and XML parsing with
DocumentBuilder.
Is there anyway to make it faster?
I checked with 5.0.0 and 4.10.0, it's the same.
Thank you.
//////////////////////////////////////////////////////////////////////////////
private static void getMetadata2(String accessToken)
{
// Create an OData client
ODataClient client = ODataClientFactory.getClient();
// Specify the OData service endpoint
String serviceRoot =
"https://orgc8a62a2c.api.crm.dynamics.com/api/data/v9.0/";
String metadataEndpoint = serviceRoot; // + "$metadata";
EdmMetadataRequest request =
client.getRetrieveRequestFactory().getMetadataRequest(metadataEndpoint);
// request.setAccept("application/xml"); // Set the desired media type
request.addCustomHeader(HttpHeader.AUTHORIZATION, "Bearer " +
accessToken); // Add the access token
// Execute the request
long startTime = System.nanoTime();
ODataRetrieveResponse<Edm> response = request.execute();
long endTime = System.nanoTime();
long elapsedTime = endTime - startTime;
// Convert elapsed time to seconds
double elapsedTimeInSeconds = (double) elapsedTime / 1e9;
// Print the elapsed time in seconds
System.out.println("Time consumed for request.execute() : " +
elapsedTimeInSeconds + " seconds");
int code = response.getStatusCode();
String ret = response.getStatusMessage();
Edm edm = response.getBody();
}
> Get metadata of dynamics 365 is very slow, it's much slower than using
> HttpRequest
> ----------------------------------------------------------------------------------
>
> Key: OLINGO-1614
> URL: https://issues.apache.org/jira/browse/OLINGO-1614
> Project: Olingo
> Issue Type: Question
> Components: odata2-core, odata4-client
> Affects Versions: (Java) V4 4.10.0
> Environment: windows, java
> Reporter: Yufei
> Priority: Major
>
> Hi
> This is the code to get metadata. time used is 28 seconds. It's too slow.
> It's around 10 seconds if I use HttepoRequest and XML parsing with
> DocumentBuilder.
> Is there anyway to make it faster?
> I checked with 5.0.0 and 4.10.0, it's the same.
> Thank you.
>
> //////////////////////////////////////////////////////////////////////////////
> private static void getMetadata2(String accessToken)
> {
> // Create an OData client
> ODataClient client = ODataClientFactory.getClient();
> // Specify the OData service endpoint
> String serviceRoot =
> "https://orgc8a62a2c.api.crm.dynamics.com/api/data/v9.0/";
> String metadataEndpoint = serviceRoot; // + "$metadata";
>
> EdmMetadataRequest request =
> client.getRetrieveRequestFactory().getMetadataRequest(metadataEndpoint);
> // request.setAccept("application/xml"); // Set the desired media type
> request.addCustomHeader(HttpHeader.AUTHORIZATION, "Bearer " +
> accessToken); // Add the access token
> // Execute the request
> long startTime = System.nanoTime();
> ODataRetrieveResponse<Edm> response = request.execute();
> long endTime = System.nanoTime();
> long elapsedTime = endTime - startTime;
> // Convert elapsed time to seconds
> double elapsedTimeInSeconds = (double) elapsedTime / 1e9;
>
> // Print the elapsed time in seconds
> System.out.println("Time consumed for request.execute() : " +
> elapsedTimeInSeconds + " seconds");
>
> int code = response.getStatusCode();
> String ret = response.getStatusMessage();
>
> Edm edm = response.getBody();
> }
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)