PART 1 | PART 2 | PART 3 | PART 4 |
---|
Here we will see how to create a destination in Gateway cockpit and map it manually to deployed OData service and then how to perform CRUD operation on service document.
Test the OData service
- Log on to SMP 3.0 Admin: https://smpserver:port/Admin
- Create a new security profile with name as 'sap' (exact name as namespace) under Settings>Security profiles>New
3. Log on to SMP3 gateway cockpit https://smpserver:port/gateway/cockpit
4. Go to destinations tab, Create a new destination
Properties | Values |
---|---|
Destination Type | DATABASE |
Destination URL | jdbc:mysql://MySQLSeverip/schema_name |
Destination Driver | com.mysql.jdbc.Driver |
Authentication Type | Basic Authentication |
User Name | DB User |
Password | DB password |
5. Move to Services tab, click on deployed service employee_MYSQLDB.
- Click on 'Add Destination', select MYSQLDB from the drop-down.
- Save and close.
6. Once done, open the service document,
http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1
7. Open service metadata document
- OData defines a metadata format based on the Entity Data Model in XML (edmx).
- To access a service's metadata document use the $metadata command.
- The returned document is the service's edmx metadata + backend metadata
http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/$metadata
8. To get the details for the Entity 'employee'
http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee
To fetch only first row of the table, http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee(1001)
OData operations : RetrieveEntity (READ)
To retrieve details of a specific entity,use HTTP GET verb to execute the same.
- Open Advanced REST client
REQUEST:
- URL: http://jk:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee
- Use HTTP GET verb to execute this operation.
- Pass below header values
Header | Values |
---|---|
X-CSRF-TOKEN | FETCH |
Content-Type | application/xml |
RESPONSE:
- 200 OK status message
- X-CSRF-TOKEN value e.g. 1B4687085D8F59B1CA21382DF17D535A
OData Operations – InsertEntity (CREATE)
- The InsertEntity operation creates an entity.
REQUEST:
- URL: http://jk:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee
- Use HTTP POST verb to execute the InsertEntity operation.
- Pass below header values
Header | Values |
---|---|
X-CSRF-TOKEN | 1B4687085D8F59B1CA21382DF17D535A |
Content-Type | application/xml |
- Pass this xml text into the BODY
<?xml version="1.0" encoding="UTF-8"?><atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <atom:content type="application/xml"> <m:properties> <d:EMPID>1006</d:EMPID> <d:FIRST_NAME>SACHIN</d:FIRST_NAME> <d:LAST_NAME>SHARMA</d:LAST_NAME> <d:CITY>CHANDIGARH</d:CITY> <d:COUNTRY>INDIA</d:COUNTRY> </m:properties> </atom:content></atom:entry>
RESPONSE:
- This operation creates an entity.
- Successful execution of the operation returns HTTP 201 status code along with the Location of the newly created entity will be returned.
To verify, you can check with http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee(1006) OR directly in the MySQL database.
OData Operations – UpdatetEntity (UPDATE)
- The UpdateEntity operation updates an entity.
REQUEST
- URL: http://jk:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee(1003)
- Use HTTP PUT verb to execute the this operation.
- Pass below header values
Header | Values |
---|---|
X-CSRF-TOKEN | 1B4687085D8F59B1CA21382DF17D535A |
Content-Type | application/xml |
- Pass this xml text into the BODY
xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <atom:content type="application/xml"> <m:properties> <d:EMPID>1003</d:EMPID> <d:FIRST_NAME>CHIP</d:FIRST_NAME> <d:LAST_NAME>ROG</d:LAST_NAME> <d:CITY>SAN FRANS</d:CITY> <d:COUNTRY>USA</d:COUNTRY> </m:properties> </atom:content></atom:entry>
RESPONSE:
- If the update is successful, the server responds with 204 status code.
- As the response code text "No Content" signifies, no data is returned in the Response Body.
OData Operations – DeleteEntity (DELETE)
- The DeleteEntity operation deletes an entity.
REQUEST
- URL: http://jk:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee(1006)
- Use HTTP DELETE verb to execute this operation.
- Pass below header values
Header | Values |
---|---|
X-CSRF-TOKEN | 1B4687085D8F59B1CA21382DF17D535A |
Content-Type | application/xml |
RESPONSE:
- If the delete is successful, the server responds with 204 status code.
- As the response code text "No Content" signifies, no data is returned in the Response Body.
Next Part 4