[ 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)