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

Reply via email to