Using Oracle BPEL Process Manager with Oracle Service Bus part 2


Calling OSB service from BPEL process

In my previous post, I already talked about calling BPEL services from OSB. In this blog entry I will show you how to call an synchronous OSB proxy service from BPEL. If you have problems to get this working, please see my previous blog entry how to solve this. I got this working with OSB 10.3 and Soa Suite 10.1.3.4 MLR5.
First we need to have an OSB proxy service with an WSDL.

As transport protocol we will use the SB protocol

Export the WSDL of the OSB Proxy service and put the wsdl and xsd’s in your BPEL project.

When we take a look at the WSDL we can see that the OSB proxy service address is sb://xxx:70001/w..

In the BPEL project we can add a partnerlink, where we will use the OSB proxy wsdl.

Next step is to add an invoke process activity where we can select the OSB Partnerlink and we have to create an input and output variable here.


You only have to add some assign process activities to fill or retrieve the input and output variable.

Advertisements

7 comments

  1. Hello,
    Thanks for your tutos. And sorry for my english, i’m french.

    In my project, i want to call a proxy service from a process BPEL. I understand that i need a wsdl to expose my proxy. My proxy, in the message flow, make a dynamic routing, so i don’t know which webService we ‘re going to invoke, so i don’t know which wsdl to use for my proxy.
    Have you an issue or an idea ?

    thanks

  2. Hi linard,
    There is no problem in your situation you just have to use the wsdl on which your proxy is based. The dynamic routing is internal to your proxy and the bpm does not need to be aware of what it routes to at run time internally.
    Hope I ve answered your issue

  3. Thanks Nits.

    But i don’t have a wsdl, because with my dynamic routing i don’t know which business service will be called by my proxy. My proxy is a router, configured by a personel xml file which give to the proxy the business service to call.
    Do i write manually a wsdl ?

  4. Linard, I understand that but can you confirm one thing, when you created your proxy service … in the general settings did you base it on a wsdl ?? XML or Any service etc what is it based on??? If it is based on a wsdl then you use that wsdl…..

    by specifying the end point something like http://hostname:portname/yourproxy?wsdl

    If its not a wsdl based proxy then there is a limitation in BPEL and also in OBPM that it can not consume proxy services which dont have a wsdl……. in the meantime can you confirm if you have a wsdl associated with the proxy service.

    If its a non wsdl based proxy i would recommend to use a basic wsdl based adapter proxy which routes to the original proxy.
    but the adapter proxy can be called from the BPEL.

  5. I would to base my proxy on a wsdl to expose it but i haven’t got a simple wsdl …
    So Do I write it manually ?

    Thanks for your attention

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s