Yufei created OLINGO-1615: ----------------------------- Summary: Get meatadata with EdmMetadataRequest throws exception Key: OLINGO-1615 URL: https://issues.apache.org/jira/browse/OLINGO-1615 Project: Olingo Issue Type: Bug Components: odata4-client Reporter: Yufei
Hi I want to get meta data from microsoft dynamics 365, it throws exception saying: (0x80060888) The request URI is not valid. The segment '$metadata' must be the last segment in the URI because it is one of the following: $ref, $batch, $count, $value, $metadata, a named media resource, an action, a noncomposable function, an action import, a noncomposable function import, an operation with void return type, or an operation import with void return type. [HTTP/1.1 404 Not Found] This is my code: 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 try { 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 = response.getBody(); } catch(Exception e) { e.printStackTrace(); } } -- This message was sent by Atlassian Jira (v8.20.10#820010)