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.
Hi
I have read your post and I need to know to I call the service that i have deploy.
I tried to test the deployed service by soapUI. And i have get the reply message like below.
wsse:FailedAuthentication
The security token could not be authenticated or authorized
Please help to suggest me.
Thanks in advance .
Pasuwat
Hi,
Looks like you have not provided the right security information in soapUI. You need to add the userid and password, and then make sure you add the security (wsse) headers to the request before you send it.
Hope that helps,
Mark
Pingback: Consuming E-Business Suite web services using Oracle Service Bus, or Using Oracle Service Bus with OWSM Policies to call WS-Security protected services | RedStack
Hi,
I don’t see ‘Generate WSDL’ button in my screen. I am new to this, please advice.
Thanks
Hi,
Sounds like you might need some patches on your E-Business Suite. You need EBS 12.1.2 , please refer to and EBS Integrated SOA Gateway, please refer to . Both of these are on My Oracle Support.
Have you got an example of having an EBS event call an external service through SIF?
Cheers
Hi Owen,
No I have not done that personally, but I do know several people who have done that in real implementations, so I know that it works 🙂
Mark
Hi Mark,
This is very good post. But i want to send data from my application to Oracle E biz R12 through web service. I have created web services but i wanna know how can i consume them in EBIz? How can i create a listener or handler?
Regards,
Shivam
Hi,Mark,
This is good for me.But i use the sysadmin to log my EBS and i can see the Generate WSDL button on my screen,but if i press the button ,it will give me the error,like this.
SOA Provider Access resulted in exception ‘oracle.apps.fnd.soa.util.SOAException: SystemError: Error while sending message to server. Server returned HTTP response code: 500 for URL: http://bts10.mycompany.com:8000/webservices/SOAProvider/EbizAuth?Generate=1730&soa_ticket=-uKO3M3R6TAMAG8WeU9Ypw..’ when attempting to perform ‘GENERATE’. Please contact your System Administrator
Best Regards,
Bob.
Hi Bob, That usually indicates that the Integrated SOA Gateway is not set up correctly, usually a patch is missing. You should ask your EBS admin to grab the Support Note from Oracle Support site for Integrated SOA Gateway install for your version of EBS and check they have all the patches listed in there installed.