Perform following steps to expose Pl/SQL as a web service
1. Search API in Integration Repository
2. Deploy API as REST Service
3. Create Grants
for REST Service
4. Invoke EBS REST Service
(in JSON message
format)
5. Verify the results
Here we will take an example of creating a user by exposing FND_USER_PKG Interface API and then invoking it to create user.
Following steps will explain
the process of exposing the standard API and then invoking it.
Step 1: Navigate
to Integration Repository Responsibility, Click on Search.
Then on search Page enter “FND_USER_PKG” in Internal Name and click
on Go
Step 2: Click on the search
result, it will display List of methods
available in the Interface Package.
Click
on REST Web Service Tab
This page will display
List of methods that can be deployed.
Step 3:
Now select Create/Update User (we will create a user by invoking this Service
once Deployed.) and enter Service Alias (This is mandatory) and then Click on
Deploy button at bottom.
You will receive
message that service
is successfully deployed
and the status
will be deployed.
Step 4: Now you will see the link to WADL file, Click on the link. It shows the physical location of the service endpoint where the service is
hosted.
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:tns1="http://xmlns.oracle.com/apps/fnd/rest/create_user/load_row/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://wadl.dev.java.net/2009/02" xmlns:tns="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/fnd_user_p kg/" targetNamespace="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/fnd_
user_pkg/" name="FND_USER_PKG"><grammars><include
xmlns="http://www.w3.org/2001/XMLSchema"
href="http://xxx-xxx- apdv01.cli.ad:8005/webservices/rest/Create_User/?XSD=LOAD_ROW_SYNCH_TYPEDEF.x
sd"/>
</grammars>
<resources base="http://xxx-xxx-xx01.xx:8000/webservices/rest/Create_User/"><resource path="load_row/">
<method name="POST" id="LOAD_ROW"><request><representation
type="tns1:InputParameters"
mediaType="application/xml"/>
<representation type="tns1:InputParameters" mediaType="application/json"/>
</request>
</method>
</resource>
</resources>
</application>
Now
open the link highlighted in Yellow in new Browser window, it will show the XSD file
with input parameters that will be used later for invoking the Web
Service.
Step 5.Now Click on the Grants
Tab, select Create/Update User and then click on Create Grant button
Step 6: Select a grantee type.
Grantee Type can be one of the following values:
o USER - The grantee is an individual user who was selected directly.
o GROUP - The grantee is a group of users or a member of a group of users.
o GLOBAL - The grant was issued to all users.
If you
selected Specific User or Group of
Users, specify the user or group for which to create the grants in the Grantee Name field.
In our Case Study
we will enter
SYSADMIN and then click on Create Grant Button.
It will display confirmation message:
To Revoke Grants
click on Revoke
Grants button under
Grants Tab ,it will display
List of users with
access for revoking the Grants.
To Undeploy the Web services
select the method and click
on undeploy under the REST Web Services Tab
Step 7: Now we will invoke
this web service
using Advanced REST Client apps available in Google
Chrome.
If not available download it from following link:
https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
Now, after
installing the REST client we will enter
following details to invoke the web service:
Step 8: Enter
the following header
details:
Authorization
by clicking on Add new header link
then enters the application username/password by clicking on construct.
Then enter Accept, Content
language
Select application/json in the Content
Type below.
Step 9:
Enter the following Link and payload
information and click on send. The payload is constructed using the xsd file
generated at Step 4.
Link : http://xxx-xxx-xx01.xx:8000/webservices/rest/Create_User/load_row/
Payload:
{
"Create_User": {
"@xmlns": "http://xmlns.oracle.com/apps/fnd/rest/create_user/load_row", "RESTHeader": {
"xmlns": "http://xmlns.oracle.com/apps/fnd/rest/Create_User/header", "Responsibility":"US_HRMS_MANAGER",
"RespApplication":"PER",
"SecurityGroup":"STANDARD",
"NLSLanguage":"AMERICAN", "Org_Id"
:"201"
},
"InputParameters":
{ "X_USER_NAME": "XX_USER",
"X_ENCRYPTED_USER_PASSWORD": "XX_PWD",
"X_START_DATE": "19/07/2023",
"X_EMAIL_ADDRESS": "xx_user@test.com"
}
}
}
Step 10: Now to verify if user is created query in FND_USER
table to check the results.