Oracle E-Business Suite Release 12 introduced a new “Integrated SOA Gateway” that makes it very easy to expose functionality from E-Business Suite as web services. This allows much easier integration to and from E-Business Suite.
In this post, we look at how to expose a piece of functionality in E-Business Suite as a service. Here we are using Oracle E-Business Suite 12.1.2, a “Vision” system.
First we log on to E-Business Suite as the SYSADMIN user.
Next we navigate to the Integrated SOA Gateway responsibility and into the Integration Repository, as shown in the image below.
For this example, we will use the Price Request. This is found under Order Management Suite then Advanced Pricing and Price List as you can see highlighted on the left hand side of the image below. Then select Price Request from the list of integration points. You will see a screen like the one below, that provides details of this integration point. You can see that in this case, it is a PL/SQL API. On the top right of this screen, there is a new button called Generate WSDL that we can use to easily expose this PL/SQL API (or any other integration point) as a web service. Click on that now.
After two or three seconds you should get a confirmation message, like the one below, to let you know this was completed successfully. Next we need to enable this new service. This is done by clicking on the Deploy button which is highlighted in the image below.
Again, after a few seconds, your screen should update to look like the one below. You can now see a link to the service description (WSDL) that can be used to call this service from other applications, systems, etc.
You can click on that View WSDL link to see the WSDL code. Below is the first part of the WSDL for the above example.
Note: Make sure you open the WSDL in a new window or tab, we are not finished with this page yet! You can do this by right clicking on the link and selecting Open in new tab or similar from the popup menu (this varies from browser to browser).
The final step is to grant access to the service, so that we will be able to invoke it. To do this, we expand the list of operations in the last part of the interface page in Integration Repository , then check the box next to the interface we want to grant access to, and click on the Grant Access button.
Now enter the username for the user you want to grant access to, or use the search button to find the user. In this example, it will be sufficient to grant access to ASADMIN.
Then save your changes. Your screen should now look like this:
That’s all there is to it! Certainly much easier than how we would have done this in the past.