REST Web Services Using Integrated SOA Gateway
REST Web Services Using Integrated SOA Gateway
REST Web Services are available in Oracle E-Business Suite Release 12.2.3 and onwards only. REST based web
services are deployed on Oracle E-Business Suite’s application server. They do not dependent on Oracle SOA
Suite and Oracle Applications Adapter.
Oracle E-Business Suite Integrated SOA Gateway (ISG) is a complete set of service infrastructure to provide,
consume, and administer Oracle E-Business Suite Web services. You can use this tool to easily discover and
search on interfaces, regardless of custom or Oracle seeded ones.
The acronym REST stands for Representational State Transfer, this basically means that each unique URL is a
representation of some object. REST describes a set of architectural principles by which data can be transmitted
over a standardized interface (such as HTTP). You can get the contents of that object using an HTTP GET, to
delete it, you then might use a POST, PUT, or DELETE to modify the object (in practice most of the services use
a POST for this).
The term Customization of Integration Repository means option to add custom interfaces into Integration
Repository. The term interface stands for all types of programs and technologies in Integration Repository, eg.
plsql, java, business events, xml gateway etc.
Integration developers create and annotate custom integration interfaces based on the Integration Repository
annotation standards. Integration administrators use a standalone design-time tool to validate these annotated
source files against the annotation standards. After validation, a loader file is generated and then uploaded to
the Integration Repository through backend processing. These custom interfaces are displayed based on the
interface types to which they belong and displayed together with Oracle seeded ones from the Integration
Repository user interface.
Process Flow
Annotation Standards
Please refer the below link for details on Annotating Pl/Sql code.
http://docs.oracle.com/cd/E18727_01/doc.121/e12065/T511473T545912.htm
Also, please refer to the Doc ID 1311068.1 for ISG installation for REST Services.
Case Studies
This example will illustrate on how to develop a simple interface using PL/SQL. The Integration Repository will
recognize integrations through annotations in the code (details about annotations can be found in the
Integrated SOA Gateway Developer's Guide, Appendix A).
Annotate the package spec and save in the mentioned format *.pls and *.pkh files.
For PL/SQL packages, only the package spec should be annotated. Do not annotate the body.
END XXDMV_MOBILE_OMS_COMMON_PKG;
Note: The annotation BUSINESS_ENTITY is where in the Integration Repository your custom integration will be
found. The below queries will help you find the correct BUSINESS_ENTITY. It's not possible to add your
own BUSINESS_ENTITYs in the current version.
The next step is to create an iLDT file (Integration Repository loader file) that we should use to upload to the
Integration Repository. The file is created with a tool called Integration Repository Parser (IREP Parser), the
tool will validate the file against the annotation standards. Before the iLDT file can be created
XXDMV_MOBILE_OMS_COMMON_PKG.pls need to be transferred to the server (any folder it can be placed. in
this case the we put the file in /home/appladev/Temp)
Note: If you are generating a new iLDT file for an already uploaded interface you need to add a higher version
number then the last uploaded.
$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -
username=sysadmin gl:patch/115/sql: XXDMV_MOBILE_OMS_COMMON_PKG.pls:12.1=/tmp/
XXDMV_MOBILE_OMS_COMMON_PKG.pls
When the iLDT file is successfully created we can upload it to the Integration Repository using:
$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct
XXDMV_MOBILE_OMS_COMMON_PKG.ildt
Deploy API as REST Service or SOAP Service
Login in ERP and navigate to Integrated SOA Gateway Integration Repository, click on search which will be
navigated to integration repository search page.
1. Search for the “Sales order - Custom” (the display name mentioned in package spec annotation)
2. Click Go
3. Click on the link Sales Order - Custom
9. Before the web service can be invoked we need to restart the Application server and clear the cache.
10. Clear cache: Use responsibility Functional Administrator and go to Core Services -> Caching
Framework -> Global Configuration -> Clear all cache.
Invoke EBS REST Service (in JSON message format)
Method: POST
Request URL: http://aets.arg.ae:8000/webservices/rest/Reservation/create_reservation/
{
"CreateReservation": {
"@xmlns":
"http://xmlns.oracle.com/apps/ont/rest/CreateReservation/create_reservation",
"RESTHeader": {
"xmlns": "http://xmlns.oracle.com/apps/fnd/rest/header",
"Responsibility": "ORDER_MGMT_SUPER_USER",
"RespApplication": "ONT",
"SecurityGroup": "STANDARD",
"NLSLanguage": "AMERICAN",
"Org_Id": "81"
},
"InputParameters": {
"P_ORG_ID": "81",
"P_ITEM_CODE": "AL2-K23-C-18",
"P_PARTY_ID": "221988638",
"P_CUST_ACCOUNT_NO": "2538461",
"P_RESERVE_QTY": "1",
"P_SERIAL_NUMBER": "",
"P_REMARKS": "",
"P_RP_ITEM_ID": "",
"P_RMA_FLAG": "",
"P_RMA_HEADER_ID": "",
"P_RMA_LINE_ID": "",
"P_SALE_TYPE": "New",
"P_QUOTE_HEADER_ID": "",
"P_QUOTE_LINE_ID": "",
"P_LEAD_MASTER_ID": "953211",
"P_ORGANIZATION_ID": "224",
"P_USER_ID": "1541"
}
}
}
4. Invoke Web service by clicking send button