Wednesday, March 19, 2008

JDev/ADF sample - JDeveloper 11g and SOA Suite 11g integration

  • JDeveloper 11g and SOA Suite 11g integration. On my blog you can find application I have developed previously - Invoking BPEL Process from Oracle ADF Application. Application described in my previous post is developed with JDeveloper 10.1.3.x, BPEL process with parameters is invoked here, however I don't return any parameters back to ADF application from BPEL process. Today I have developed new application based on JDeveloper 11g TP3 and SOA Suite 11g TP, where a set of parameters is accepted and returned by BPEL process from and to ADF application.
    Download - SOAComposite.zip, SalaryUpdate.zip

5 comments:

Areh said...

Hi Andrejus,
that was a good example,I have a question about error handling in this sulution:
if the process of updating has failed how could we cach the exception? I have user fault handler in my bpel but i dont know how to return the result to adf page and show an appropriate message. could you please give me a hint to sole this problem?

thanks in advance,

hashem

Areh said...

Hi Andrejus,

this was a good example, Could you please give us some coments or efrence about handling errors when calling bpel from Adf page?

thank you in advance,
Alireza

Andrej Baranovskij said...

Hi Alireza,

You can try to use similar code:

Object result = operationBinding.execute();
if(!operationBinding.getErrors().isEmpty()) {
// process error message here
}

I believe Web Service should return error and you can catch it inside this IF statement.

Regards,
Andrejus

Areh said...

Hi Andrejus,

Thanks for your Quick response, that was very helpful for error messges, I am trying to return some states from Bpel To client, fox example: if bpel Raises a Human Workflow, I want to inform user in Adf Page The invocation of workflow.
Could you help me on this,
Thank you in advance,

Alireza.

Andrej Baranovskij said...

Hi Alireza,

You can use similar code to display message on the page:

FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_WARN, "Employee with lower salary exist!", null);
FacesContext fctx = FacesContext.getCurrentInstance();
fctx.addMessage(null, fm);

Regards,
Andrejus