Creating and consuming web service is an important part of the development cycle in any technology. Here in this post, I am going to show that how can we consume ADF BC based REST web service in an ADF application. In ADF 12.2.1 release Oracle provides support for declaratively consuming REST Web Service, Before that it was only possible using java and that was a tedious task for fusion developers.
Suppose I have an ADF BC (Business Components) based REST web service that returns a list of Departments. Now to consume that web service we'll use ADF REST Data control. Here I am going to illustrate this step by step.
I am using JDeveloper 12.2.1.3, Let's start with Creating a Fusion Web Application with model and view controller project.
Right click on the Model project and Select New–> From Gallery–> Business Tier–> Web Services and select Web Service Data Control SOAP/REST
It opens Web Service Data Control creation wizard, Select REST as Web Service type and provide a meaningful name, Select Describe-Based ADF Data Control as the type of data control.
Click on the green plus icon to create new ADF Rest Connection, Enter connection name and URL of the web service.
Here you should know that URL of ADF based REST web service typically has a host, port, context root path with version name, resource name. So URL of my web service is this
http://127.0.0.1:7101/RestWebServApp-RESTWebService-context-root/rest/Jdev12.2.1/Department
and to make it REST Describe URI just add describe after resource name and put that URL in URL Endpoint field
http://127.0.0.1:7101/RestWebServApp-RESTWebService-context-root/rest/Jdev12.2.1/Department/describe
Default authentication type is none so leave it and test the connection.
Click on OK and you can see that REST connection is created.
Click on next button and come to Select Resources tab and add resources to the selected side.
On the Finish tab test REST connection once again and you can see It is successful.
On the click of the finish button, a file DataControls.dcx is generated. This is a data control definition file and contains information about data collection nodes and built-in data collection operations.
Now consuming web service part is done and next is to create a page and use WSDL to show a table on that page.
Right click on the view controller and select New–> From Gallery–> Web Tier–> JSF/Facelets and create a new page
Expand Data Controls section of Fusion Web Application and you can see there Departments data collection node. On expanding it you can see the attributes of the Departments table and its operation.
Select Departments from data control and drop it on the page as ADF table, Also dropped Previous and Next operation as a button on the page.
Now run and check application, Data is populated from the web service using ADF REST data control
Click on Next button to navigate between rows
All done 🙂
This is how you can consume an ADF BC based REST WebService in Fusion Application.