Hi Uwe, I've got the same problem..
I use a sequence, using Eclipse BPEL plugin, like: Receive - Assign - Invoke
- Assign - Reply..
When I use the simple service "DoSomething" (that only returns a String) in
the invoke activity it works correctly..The problem is when I use a service
created by myself, more complex in the invoke activity..
The process was deployed correctly, but when I test the BPEL workflow using
"Web service Explorer" it throws an exception like this:

[WARN] triggerActionNotSupportedFault: messageContext: [MessageContext:
logID=urn:uuid:A04E3CB93EF5F6934A1305294620574] problemAction:
http://namesp/actionInvoke
[ERROR] The [action] cannot be processed at the receiver.
org.apache.axis2.AxisFault: The [action] cannot be processed at the
receiver.
    at
org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(AddressingFaultsHelper.java:373)
    at
org.apache.axis2.addressing.AddressingFaultsHelper.triggerActionNotSupportedFault(AddressingFaultsHelper.java:336)
    at
org.apache.axis2.dispatchers.AddressingBasedDispatcher.checkAction(AddressingBasedDispatcher.java:141)
    at
org.apache.axis2.dispatchers.AddressingBasedDispatcher.invoke(AddressingBasedDispatcher.java:126)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
    at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
    at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    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:662)

15:50:21,061 WARN  [ExternalService] Fault response: faultType=(unkown)
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header
xmlns:wsa="http://www.w3.org/2005/08/addressing";><wsa:Action>http://www.w3.org/2005/08/addressing/fault</wsa:Action><wsa:RelatesTo>uuid:hqejbhcnphr69ue777k2wi</wsa:RelatesTo><wsa:FaultDetail><wsa:ProblemAction><wsa:Action>http://namesp/actionInvoke</wsa:Action></wsa:ProblemAction></wsa:FaultDetail></soapenv:Header><soapenv:Body><soapenv:Fault
xmlns:wsa="http://www.w3.org/2005/08/addressing";><faultcode>wsa:ActionNotSupported</faultcode><faultstring>The
[action] cannot be processed at the receiver.</faultstring><detail
/></soapenv:Fault></soapenv:Body></soapenv:Envelope>

15:50:21,306 ERROR [INVOKE] Failure during invoke:
15:50:21,326 INFO  [BpelRuntimeContextImpl] ActivityRecovery: Registering
activity 11, failure reason:  on channel 21
15:52:15,894 ERROR [ODEService] Timeout or execution error when waiting for
response to MEX {MyRoleMex#hqejbhcnphr69ue777k2wc [Client
hqejbhcnphr69ue777k2wb] calling {http://BPEL}BPELProcess.process(...)}
java.util.concurrent.TimeoutException: Message exchange
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@55ef252a
timed out(120000 ms) when waiting for a response!
java.util.concurrent.TimeoutException: Message exchange
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@55ef252a
timed out(120000 ms) when waiting for a response!
    at
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture.get(MyRoleMessageExchangeImpl.java:245)
    at
org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:161)
    at
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:69)
    at
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:52)
    at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
    at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
    at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    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:662)

I think that is a timeout error too..Have you find any solutions?
Best regards


Uwe Bachmann wrote:
> 
> 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
> 
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/How-to-handle-a-timeout-provoked-by-a-long-running-Invoke-activity-tp31636756p31705727.html
Sent from the Apache Ode User mailing list archive at Nabble.com.

Reply via email to