Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

Contact Us

Oracle Workflows - All Articles
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

Search Courses

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 
With the introduction of Integrated SOA Gateway, there are plenty of new SOA related features in R12.1 version. In this article we will see a video demo of the wizard for invoking webservices via Business Event. In R12.1 you can create a subscription of type "Invoke Web Service". Once you select this subscription, you are then prompted to enter the WSDL of the webservice that must be invoked in response to the business event. This initiates a Web Service subscription wizard in R12.1. These steps are shown in the video link below




How does the business event subscription wizard work?
This wizard parses the WSDL that you are attaching in subscription and then prompts you through a series of questions to select the Method that must be called from Web Service.




How does the webservice get invoked?
The Java WSIF [Web Service Invocation Framework] is used to invoke the desired web service dynamically.




What is WSIF?
Usually, when you wish to invoke a method within the Web Service WSDL, you generate the stubs which act like a "local proxy" for the web service. Using WSIF, the Webservice can be dynamically be geneated. The Business Event Subscription in this case invokes a class named oracle.apps.fnd.wf.bes.WebServiceInvokerSubscription. This class internally reads the definition of the subscription and invokes the Web Service.




What if I want to do additional processing before/after Web Service Invocation via Business Event?
When the business event subscription for Web Service fires, then WebServiceInvokerSubscription.onBusinessEvent() is executed. To do further processing, follow the steps below
1. Extend class WebServiceInvokerSubscription
2. Override methods onBusinessEvent(),preInvokeService(), invokeService()and postInvokeService() as required
3. Place the java class name of extended class in field "Java Rule Function" in Business Event Subscription

Click here to see the video demo of attaching webservice to Business Event Subscription via wizard





How do I process the response of the webervice?
There are two options for you.
Option 1. Use extended class based on WebServiceInvokerSubscription and override the methods to trap the response and process it.
Option 2. Attach the following parameters to the business event subscription
    WFBES_CALLBACK_EVENT
    WFBES_CALLBACK_AGENT
These parameters dictate the name of the business event that will be raised in response to the WebService return message.

Click here to see the video demo of processing response of WebService




One note- I haven't tested this functionality all the way yet. My initial tests indicate that this feature is not 100% production ready yet because some of the legitimate webservices are not getting parsed by WSDL Subscription wizard. The webservice example used in this article is the same as that in Metalink Note 741783.1. However the Metalink note uses the pre-R12.1 technique where wizard was not present.




Anil Passi

Comments   

0 #1 ron 2009-05-13 09:45
Thanks -- wonderful example.

In this example you are triggering a business event to call a webservice -- cool.

Can you expose a business event as a webservice -- so that I can invoke the webservice from an external system?
Quote
0 #2 Anil Passi 2009-05-13 11:20
Good question Ron.

You can include any business event or interface as endpoints in Integration Respository.
us ing the SOA Gateway of R12.1, you can generate webservices for these integration points in Integration Repository.
Aga in using SOA Gateway of R12.1, you can deploy the webservices to the Application Server.

You can use Integration Repository to expose the following as webservices
PL/ SQL APIs
XML Gateway
Concurr ent Programs
Busine ss Events
Open Interface Tables/Views
ED I
Business Service Object (Service Beans)
Composit e Services

Thank s,
Anil Passi
Quote
0 #3 suresh1784 2009-05-14 04:19
Hi Anil,

Again a good article from you.

is this feature comes with R12.1 or do we need to go for any other integration?

a nd how can we call a web service method.

Thanks - Suresh
Quote
0 #4 Anil Passi 2009-05-14 12:42
Hi Suresh

This feature comes out of the box in R12.1

When the Business Event Subscription wizard parses the WSDL, it presents you with the list of available methods within the web service. You can see the video demo that explains this step.

Thanks
A nil Passi
Quote
0 #5 Subhankar 2009-06-22 17:14
Hi Anil,

I had a question regarding the note at bottom of article

One note- I haven't tested this functionality all the way yet. My initial tests indicate that this feature is not 100% production ready yet because some of the legitimate webservices are not getting parsed by WSDL Subscription wizard. The webservice example used in this article is the same as that in Metalink Note 741783.1. However the Metalink note uses the pre-R12.1 technique where wizard was not present.

Can you let me know what are these "legitimate webservices are not getting parsed by WSDL Subscription wizard" which are being referred here? The WSDL parser ensures that all external WSDL files outside the firewall get parsed if proper proxy setup is done. Have you come across any WSDLs which have failed doing so....?

Also would like to mentio that the WSDL Subscription wizard is just a wrapper around the pre-R12.1 technique which has been mentioned in the note. Internally it stores the WSDL properties in the same set of subscription parameters as mentioned in the note even now.

Thanks
Su bhankar
Quote
0 #6 OFemi 2009-08-05 06:50
All posting, demos write ups etc have been for R12.
Is this functionality not available in 11i?
If not, is there any doc on enabling webservices on 11i?

Regards,
Femi
Quote
0 #7 Fernando 2009-08-08 16:39
I have the same question as Femi's.
We don't have any plans yet to migrate to R12 and we need to create/changes all existing interfaces to SOA standards..

th at'll be very helpful.

Thank s,
Fernando.
Quote
0 #8 kiranphadtare 2013-04-01 05:27
Hi Friends,

Is there any java api's to get all integration repository.
tha nk u in advance.

Kiran
Quote
0 #9 SD 2013-06-04 08:20
Dear All..

Can you tell me how to test and Invoke this Business Event
Quote
0 #10 Raka 2013-12-23 09:47
Dear All,

Could you please help me with a demo on how to test a subscription which invokes a Web Service.

Also, how can we handle the parameters for the WebService?

Ma ny Thanks,
Raka
Quote
0 #11 Ash 2015-05-28 14:30
Great note.
How can I debug it?
It seems that my web service call never gets response from the other side.

Thanks
Quote
0 #12 Jeeban 2015-06-08 15:31
HI,
I have created the business event for a secure webservice. But what shoud be my subscription parameters. And how can I use event.setData() , event.setString Property() to set the payload for webservice. plz explain briefly with sample code example

Thanks
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Jun 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
   1  2  3  4  5  6
  7  8  910111213
14151617181920
21222324252627
282930    

Enquire For Training

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner