I tried your process on ODE 1.3.3 and it shows this error.
Please create a Jira entry for it, because it's a bug.

On 5 February 2010 01:07, Jonathan Coogan
<[email protected]> wrote:
> I recently ran into this problem also (Ode 1.3.3, war distribution).  I'd 
> like to know if any of the Ode devlopers can comment on this.
>
> In my tests it fails even without a loop.  If you have more than 2 Receive 
> activities (with correlation) the server will throw an internal error on the 
> 3rd one.  The first 2 work.
>
> Here's a stupid simple example.  I created a process that you can call 4 
> times to add 4 different numbers together.  Each time you call it you pass in 
> an int value and a String that is used to identify the instance.  Each time 
> you call it, the process will return the running sum of the previous inputs.  
> After the 4th input the process will complete.  It works the 1st 2 times and 
> hangs on the 3rd run.  The server console says, "INTERNAL ERROR: No ENTRY for 
> RESPONSE CHANNEL 20" and prints this stacktrace:
>
> java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for RESPONSE 
> CHANNEL 20
>        at 
> org.apache.ode.bpel.engine.OutstandingRequestManager.associate(OutstandingRequestManager.java:145)
>        at 
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.inputMsgMatch(BpelRuntimeContextImpl.java:934)
>        at 
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeInstance(PartnerLinkMyRoleImpl.java:220)
>        at 
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:241)
>        at 
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:408)
>        at 
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
>        at 
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
>        at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
>        at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
>        at 
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
>        at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
>        at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:619)
>
> Thank you.
> -Jon
>
>
>
> -----Original Message-----
> From: Brian Lund [mailto:[email protected]]
> Sent: Monday, January 18, 2010 9:18 AM
> To: [email protected]
> Subject: Re: Correlation set problem
>
> Hi Dave,
> I had a bit of trouble getting the correlations to work inside loops as well. 
>  Your BPEL(s) didn¹t come across for me so i¹m not sure if you¹re already 
> tried this, but have you tried to break out the sequence/flow inside your 
> loop into It¹s own process (i.e. The first activity inside the loop would be 
> an invoke, and the other process would instantiate a new process on each 
> receive)?  Perhaps it would be an easier correlation to create since ode 
> would be spawning an entirely new process to send message(s) to?
> I would be very interested in your solution when you get this to work.
>
> Thanks,
> Brian
>
> On 1/17/10 5:57 PM, "Dave Chodos" <[email protected]> wrote:
>
>> Hi,
>>    I have been trying to get a long-running "counter" process up and
>> running on ODE, but have run into timeout errors when I make repeated
>> calls to the process. Specifically, my process has a receive to
>> initiate the process, and then another receive in a while loop that
>> increments the counter. The initial call, and the first call to the 
>> increment operation appear to work fine.
>> Subsequent calls to the increment operation, however, simply time out,
>> and nothing is returned.
>>
>>    Initially I was working with my own process, but then decided to
>> try out a sample "counter" process (which I found
>> here:http://svn.apache.org/repos/asf/ode/trunk/bpel-test/src/test/reso
>> urces/bp
>> el/2.0/TestCounter/) to 1) make sure that this process executed
>> properly, and then 2) try and figure out what was going wrong with my
>> own code. To my surprise, this process exhibited the same behaviour*
>> (timeouts on increment calls after the first one), which makes me
>> think that either I'm passing the wrong parameters into the process,
>> or that there's a problem with my ODE setup.
>>
>>    To test out whether the problem was with all correlation-based
>> processes, I wrote another process that has a sequence of different
>> correlated receive operations, and this one works fine. However,
>> calling different operations within a loop (using a pick within a
>> while loop, for instance) results in the same timeout problem. Thus,
>> it seems that the problem is with calling
>> receive(s) multiple times within a loop (while, do-while, for-each,
>> etc.)
>>
>>    I am running Apache Tomcat 5.5.27 on Unix, and using ODE 1.3.3. For
>> what it's worth, I'm using NetBeans to write my BPEL processes, but I
>> haven't had problems with other processes I've written, so I don't
>> think it's a NetBeans issue.
>>
>>    I've attached the code for my counter process, as well as the code
>> for the working sequential correlation process. I also pasted my SOAP
>> calls to the counter process (generated using SoapUI) so that you can
>> see what I've tried there. I suspect that either there is something
>> wrong with my Apache/ODE setup or I am misunderstanding something
>> fundamental about how correlation sets work
>> -- I'm relatively new to BPEL and web services, so this is a definite
>> possibility :)
>>
>>    Thanks in advance for any help you can provide.
>>
>> Dave Chodos
>>
>> * When doing one last test this morning, I found that the counter
>> process is now timing out on the first attempt to call
>> getAndIncrement, rather than the second, like it was doing last night. Not 
>> sure what to make of this...
>> However, it is definitely not working as expected :(
>>
>> *** call to init operation ***
>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>> xmlns:coun="http://example.com/bpel/counter";>
>>    <soapenv:Header/>
>>    <soapenv:Body>
>>       <coun:init>
>>          <name>testProc</name>
>>          <alias>testProcAlias</alias>
>>       </coun:init>
>>    </soapenv:Body>
>> </soapenv:Envelope>
>>
>> *** call to getAndIncrement operation *** <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>> xmlns:coun="http://example.com/bpel/counter";>
>>    <soapenv:Header/>
>>    <soapenv:Body>
>>       <coun:getAndIncrement>
>>          <name>testProc</name>
>>          <alias>testProcAlias</alias>
>>       </coun:getAndIncrement>
>>    </soapenv:Body>
>> </soapenv:Envelope>
>
>


Regards,
-- 
Rafał Rusin
http://rrusin.blogspot.com
http://www.touk.pl
http://top.touk.pl

Reply via email to