I have a asynchronous bpel process (Service_1) which invokes another asynchronous bpel process (Service_2).
Sometimes, even when Service_2 completes successfully, and callBack is also completed, Service_1 is still in 'Running' State, and I can see, it is 'Pending' in the 'Receive' activity (for call back from Service_2).
This issue gets resolved only when the server restart is done. This happens every now and then.
The below is the 'reference' for Service_2 inside my Service_1 composite.xml.
<binding.ws port="http://xmlns.oracle.com/EnterpriseServices/V1#wsdl.endpoint(Service_2_ep/Service_2_pt)" location="http://10.10.10.10:58001/soa-infra/Service_2?WSDL">
Kindly give me some suggestions to resolve this issue permanently.
Make sure you have catch/catchAll in the service1, check the instance of the service2 and whether it completes successfully and also see the callback (invoke activity), also check the soa log files
Yes there are more processes running in parallel..
Also in the log file I am able to see the below lines.
<Apr 30, 2012 11:43:47 AM CEST> <Warning> <oracle.soa.mediator.service> <BEA-000000> <No callback info for instance id :F9625E4092A811E1BF9843DFCD41B8AF>
<Apr 30, 2012 11:43:47 AM CEST> <Warning> <oracle.soa.mediator.service> <BEA-000000> <No callback instance found. So no one to send the callback dropping it.>
Kindly give me some suggestions on this.
Actually, I cannot assume the count of the services getting called everytime. It depends.. But let me say that my process should support the maximum number of calls.. so I will say .. lets take 100-200.
I am using correlationId to pass the response message back to the caller. Even then , should I increase the count of the Dispatcher Engine threads?
Edited by: meenalingam on Apr 30, 2012 4:58 PM
Edited by: meenalingam on Apr 30, 2012 4:59 PM
I am sorry for not explaining the full scenario.
In my server , I have more than 100 services running. Among them, I have some of my services calling AIA services.
Lets say Service1 and Service2 are asynchronous. Say if Service1 has created 100 instances and each instance is calling Service2. When Service2 instance is returning the callBack value, it should know to which particular instance of Service1, the value should pass on to. Inorder to identify the exact Service1 instance, I am using correlationId in the input message that is passed from Service1 to Service2.
Now, what happens is, sometimes, even after callBack happens in Service2, the server is not able to pick up the corresponding thread of Service1 to pass on the returned value. And hence, Service1 waits infinitely.
Kindly give me some suggestions for this issue.
If you are running a bpel process, and you are calling other asynch' bpel process (invoke/receive) you don't have to use correlationId.
Can you test your process without the correlationId?
SOA Suite Infrastructure by default, will route the message to the correct end point (instance at run time) through WS-Addressing...
Please remove the coorelation ID and test it as Arik suggested
Thanks for your quick replies :) I am sorry for confusing you in my earlier posts. It was my mistake to understand the service flow wrongly. I got it cleared now and pls find the problem as below.
I am not using any correlationId while calling Service2 from Service1. (both are asynchronous). As u said, I have an invoke activity followed by receive.
Could you pls suggest me, what I should do to get rid of the 'Receive' pending problem.
Has this been resolved?
One of our process flows asynchronously invokes a mediator which in turn invokes an asynchronous bpel process. After successfully processing 1024 transactions, the callbacks fail with “no callback instance found”. The overall process makes a series of synchronous and asynchronous calls across numerous composites and we also use AIA, on Weblogic 188.8.131.52. We have similar process flows with a mixture of asynchronous/ synchronous calls which do not fail.
There might be some reason for that.
Try first to increase the Dispatcher Engine Threads : EM->right click on soa-infra->SOA Administration->BPEL properties.
Sabarisi - did you managed to solve this problem?