Invoke ODI Scenario using Web Service

Invoke ODI Scenario using Web Service:

Here is the post  with brief description on invoking ODI scenario from third party applications. This will help to call scenarios, loadplans etc based on custom requirement that can be triggered from a different applications all together.

Ok to start with, you need to have Weblogic 10.3.6 and Jdeveloper 11.1.1.6 installed on your computer. If you do not know where to download, click on this link.
Keep in mind that when you are going to install Jdeveloper, install it in a different directory rather than the existing middleware home.
 Additionally, you need to ensure that you have configured Java EE Agent and it is up and running at the moment. If you have not configured then go through this link set it up. 

Now if your Java EE Agent is up then login to the weblogic admin console and click the deployments as shown in below screenshots
odiwsdl1

 

 

 

odiwsdl2

Click on OdiInvoke and then go to Testing tab. Right now you can see the WSDL and Test client link. If you click on Test client you can see the page in web browser where we can directly invoke scenarios, loadplans,scenario call back, scenario get status etc. You just have to change the parameter available in soap envelope. Once done, click on the invoke button. This will lunch the scenario in ODIStudio.

If you click on it, it will open with a test client as shown below. Thats quite intuitive as you have the flexibility to execute it right away.

If you want store the file then curl it or check it on a browser.

Now you can use odi studio or any third party application to invoke it. In my case I am creating a generic project in Jdeveloper.

Now create one webservice in the new project where we will be using the WSDL we got from admin console.



Copy the WSDl and paste it in the URL to see the available methods odi webservice.

odiwsdl11

odiwsdl12

Here we will go with OdiInvoke. For call back you must have another application listening on specific port.


Bangon!! Did you notice the auto generated code for wsdl methods. That is definitely going to save some of your time. And yes thats the point of using an IDE.

Make sure the import is marked with green tick mark. If you see any warnings then you need to fix it before moving to next step.

Anyway at this point we have everything setup. Lets start the service and wait untill HTTP Analyzer comes up.

 

Okay. Does everything looks perfect to you ???? Nope ?

 

Hmmm, the WSDL seems to be incorrect to me. Its not exactly like we saw in the browser. So lets fix it first before we move to to next step.
Follow the steps to correct it.

 

Steps to change the URL:

 

Select odiInvokeScen from Operation drop  down ( to start the scenario ). Provide the correct parameters and hit the send request button.

odiwsdl21

Woohoo !!!  Here is the session id 2356091 of the scenario currently started.

odiwsdl22

Open ODIStudio to verify the session details. There you can see the same session id we got in JDeveloper.

Thats all for the day.  Comments are always welcome. See you in my next post friends.
Cheers 🙂

0

About the author

Bhabani(http://dwteam.in) - Currently Bhabani is working as Technical Lead Product Development at Harman International. He has good expertise on Oracle, ODI, Pervasive Data Integrator, MSBI, Talend, Cloud Integration (AWS, GCP, Azure) , Map-R and Apache Airflow. He is also contributing in ODI-OTN forum for last 7 years. He is from India. If you want to reach him then please visit contact us page. If you have any doubts or concerns on the above article, please put your question here. Dw Team will try to respond it as soon as possible. Also dont forget to provide your comments / suggestions / feedback for further improvement. Thanks for your time.

Similar Posts

7 comments

With JDEVELOPER, could you make an .exe file that you could share with user to launch this webservice?

I believe you can develop a java program to call the webservice and another option could be to call it from plsql.
In my blog i have already posted how to call from plsql. If i get some time i will try to develop custom java code to call the webservice.

Buffetaud Yann / Reply

Thank you very much. I’m a newbie with webservices and you helped me a lot.

it is super.can you give me personal mail id?

Hello,

My requirement is to read soap request and and based on that request need to capture all response that will get invoked to oracle table.

Now I have implemented this. For webservice calling – took ODIInvokewebservice to read output file that has been stored in directory with xml extention.
2. Able to read xml file and based on the value invoked that to target table.

I am very new to oracle tool ODI. I did all these parts with the help of google.

My question is like, every time my input will get changed with that particular wsdl, how can i get the updated value everytime.
Again is there any approach in ODI where I can define the step which after what will have the flow.

1. Read wsdl –> read data from xml–> then push to target.
Please let me know in detailed. Thank you in advance..!!

In odi12c webservices I can use as a incremental load can we briefly explain

Hi, this is a very informative tutorial. Is there a way to encrypt the password and invoke the scenario. It is not a good practice to hard-coded password in web service call.
Thanks in advance

Leave a replay to Bhabani Cancel reply

required*

Are you a human? *