Import SAP OData metadata as an API
APPLIES TO: All API Management tiers
This article shows how to import an OData service using its metadata description. In this article, SAP Gateway Foundation serves as an example.
In this article, you'll:
- Retrieve OData metadata from your SAP service
- Import OData metadata to API Management, either directly or after conversion to an OpenAPI specification
- Complete API configuration
- Test the API in the Azure portal
Prerequisites
An existing API Management instance. Create one if you haven't already.
An SAP system and service exposed as OData v2 or v4.
If your SAP backend uses a self-signed certificate (for test purposes), you may need to disable the verification of the trust chain for SSL. To do so, configure a backend in your API Management instance:
- In the Azure portal, under APIs, select Backends > + Add.
- Add a Custom URL pointing to the SAP backend service.
- Uncheck Validate certificate chain and Validate certificate name.
Note
For production scenarios, use proper certificates for end-to-end SSL verification.
Retrieve OData metadata from your SAP service
Retrieve metadata XML from your SAP service, using one of the following methods. If you plan to convert the metadata XML to an OpenAPI specification, save the file locally.
- Use the SAP Gateway Client (transaction
/IWFND/GW_CLIENT
), or - Make a direct HTTP call to retrieve the XML:
http://<OData server URL>:<port>/<path>/$metadata
Go to your API Management instance
In the Azure portal, search for and select API Management services.
On the API Management services page, select your API Management instance.
Import API to API Management
Choose one of the following methods to import your API to API Management: import the metadata XML as an OData API directly, or convert the metadata XML to an OpenAPI specification.
Import OData metadata
In the left menu, select APIs > + Add API.
Under Create from definition, select OData.
Enter API settings. You can update your settings later by going to the Settings tab of the API.
In OData specification, enter a URL for an OData metadata endpoint, typically the URL to the service root, appended with
/$metadata
. Alternatively, select a local OData XML file to import.Enter remaining settings to configure your API. These settings are explained in the Import and publish your first API tutorial.
Select Create.
The API is added to the APIs list. The entity sets and functions that are exposed in the OData metadata description appear on the API's Schema tab.
Update the OData schema
You can access an editor in the portal to view your API's OData schema. If the API changes, you can also update the schema in API Management from a file or an OData service endpoint.
In the portal, navigate to your API Management instance.
In the left menu, select APIs > your OData API.
On the Schema tab, select the edit (</>) icon.
Review the schema. If you want to update it, select Update from file or Update schema from endpoint.
Secure your OData API
Secure your OData API by applying both existing access control policies and an OData validation policy to protect against attacks through OData API requests.
Tip
In the portal, configure policies for your OData API on the API policies tab.
Production considerations
- See an example end-to-end scenario to integrate API Management with an SAP gateway.
- Control access to an SAP backend using API Management policies. For example, if the API is imported as an OData API, use the validate OData request policy. See also policy snippets for SAP principal propagation for SAP ECC or S/4HANA or SAP SuccessFactors and fetching an X-CSRF token.
Related topics
- API import limitations
- Import an OpenAPI specification
- Import a SOAP API
- Import a SOAP API and convert to REST
- Import an App Service API
- Import a WebSocket API
- Import a GraphQL API
- Import an Azure Function App
- Import an Azure Logic App
- Import a Service Fabric service
- Import SAP OData metadata
- Edit an API