Hi, I believe this is a different issue.
Uwe's problem appears to be that the timeout noticed by the JBI HTTP SU is not delegated to ODE. Actually I don't know how such a timeout is handled in JBI at all, thus I don't know exactly how it can be delivered to ODE. Pippero, the issue you are facing is IMO not related to a timeout, but rather to a malformed service request. The question now is, which service could not understand the request. I assume that some service call has a wrong soap action, so the message cannot be processed. Could you try to run ODE and your axis2 services in different containers to see on the console which one is throwing the exception? Tammo On Thu, May 26, 2011 at 10:08, Pippero <[email protected]> wrote: > > 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. > > -- Tammo van Lessen - http://www.taval.de
