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.
