com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Exposing Data as an OData Service

In this tutorial, we will run through the process of exposing and RDBMS as an OData service. When OData is enabled for a datasource, you do not need to manually define CRUD operations. They are automatically created.

Note that the OData feature can only be used for RDBMS and Cassandra datasources.


Setting up an RDBMS

Follow the steps given below to set up a MySQL database for this tutorial.

  1. Download the product installer from here, and run the installer.
    Let's call the installation location of your product the <EI_HOME> directory. This is located in a place specific to your OS as shown below:
    OSHome directory
    Mac OS/Library/WSO2/EnterpriseIntegrator/6.4.0
    WindowsC:\Program Files\WSO2\EnterpriseIntegrator\6.4.0\
    Ubuntu/usr/lib/wso2/EnterpriseIntegrator/6.4.0
    CentOS/usr/lib64/EnterpriseIntegrator/6.4.0

  2. Install the MySQL server.
  3. Download the JDBC driver for MySQL from here and copy it to your <EI_HOME>/lib directory.
  4. Create a MySQL database with the following table:

    CREATE TABLE ACCOUNT(AccountID int NOT NULL,Branch varchar(255) NOT NULL, AccountNumber varchar(255),AccountType ENUM('CURRENT', 'SAVINGS') NOT NULL,
    Balance FLOAT,ModifiedDate DATE,PRIMARY KEY (AccountID)); 
  5. Enter the following data into the table:

    INSERT INTO ACCOUNT VALUES (1,"AOB","A00012","CURRENT",231221,'2014-12-02');

Expose the RDBMS as an OData service

Follow the steps given below.

  1. Start the WSO2 ESB profile.

  2. Open the ESB profile's Management Console using https://localhost:9443/carbon, and log in using admin as the username and the password.
  3. When you connect the datasource, select the OData check box as shown below.

Access the data service using CRUD operations

Open a command prompt execute the following CURL commands using CRUD operations:

Note that you should have privileges to perform CRUD operations on the database. If not, the OData service will not work properly.

  • To get the service document:

    curl -X GET -H 'Accept: application/json' https://localhost:8243/odata/{data_service_name}/{data_source_id}
  • To get the metadata of the service:

    curl -X GET -H 'Accept: application/xml' https://localhost:8243/odata/{data_service_name}/{data_source_id}/$metadata
  • To read details from the ACCOUNT table:

    curl -X GET -H 'Accept: application/xml' https://localhost:8243/odata/{data_service_name}/{data_source_id}/ACCOUNT
com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.