Hi,

while browsing for timeout handling in ODE I did not find a solution for the 
following case.

Take a sequence: Receive - Assign - Invoke - Assign - Reply

The Invoke returns a response that is used to prepare the reply variable. 
Assume everything is up and running and responding properly. A timeout of 60 
seconds is configured for the sequence to return to the calling WebService.
What if the Invoke activity takes longer to process than 60 seconds?
The timeout of the sequence hits and the caller is getting informed of the 
timeout by a SOAP fault.

When I simulated this case by delaying the Invoke response inside the called 
WebService method I found the following situation:
- After the Invoke finally returns the second Assign reads an empty variable 
and prepares the variable for the Reply. The Reply is executed seemingly 
successful.
- In the log output an exception in 
org.apache.servicemix.http.processors.ConsumerProcessor.process (HTTP request 
has timed out) can be seen.
- The process instance is never informed of the failure. The setting of 
faultOnFailure and/or installing fault handlers inside the Invoke or for the 
surrounding scope don't help setting the process instance to failed state.

Does anybody know if there is a way to handle this case properly?

Any help is appreciated.

Uwe


Reply via email to