ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: read timed out after 20 secounds in bpel process
Date Fri, 14 Mar 2008 15:26:52 GMT
What fails here is the client call. From what I understand you have a client
calling a process. The process does things that can last a little while. Or
could last forever for that matter. So the client call to ODE is configured
to timeout after 30s so that the client doesn't get blocked forever in that
call. Generally speaking, request/response calls should be reasonably short,
otherwise you always run the risk of getting timed out.

For your problem you could either:

   - Make the timeout longer, although you still run the risk that a
   longer loop and slower calls from the process will cause another timeout of
   the client.
   - Make the thing asynchronous. The client call is request only and you
   call the process again later to collect the result. You could also have
   regular calls (like an event handler) to check the execution status.
   - Have the process call the client back when it's done.

Cheers,
Matthieu

On Fri, Mar 14, 2008 at 3:52 AM, henry human <henry_human@yahoo.de> wrote:

> Hello,
> In a while loop in the Bpel process, the process calls
> web service which  processes data and get the results
> as a string value to the bpel process back.
> Each turn of the loop needs approximately 20 until 25
> seconds time in which the service does the operation
> and get the value back to the Bpel process.  As long
> as the while loop reaches the second round the Bpel
> process breaks up with a axis2.AxisFault: Read timed
> out  error. I have no idea how to debug the process
> with ode and find out the reason for the error. Maybe
> you could see more from the error message.
>
> Note:
> the Bpel calls EoomBpelProcessService
> Here is the erro:
> ******************************
> ERROR - GeronimoLog.error(104) | Timeout or execution
> error when waiting for res
> ponse to MEX {MyRoleMex#hqejbhcnphr345jrrcb0t0 [Client
> hqejbhcnphr345jrrcb0sx] c
> alling
> {http://com.ibm.de.cis/wsdl/EoomBpelProcess}EoomBpelProcessService.Eoo<http://com.ibm.de.cis/wsdl/EoomBpelProcess%7DEoomBpelProcessService.Eoo>
> mBpelProcessOperation(...)}
> java.util.concurrent.TimeoutException: Message excha
> nge
> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@d6c32
> timed out when waiting for a response!
> getfoldersMetadata(): Name: folderparent 's path
> favorit/RFPResponseTeam/Research getfoldersMetadata():
> 0_36b
> 28.06.2005 19:01:43
> 26.02.2003 23:03:31
> getfoldersMetadata(): Name: folderparent 's path
> favorit/RFPResponseTeam/Researc
> h
> getfoldersMetadata(): 0_36e
> 28.06.2005 19:01:43
> 03.03.2003 17:50:23
> ERROR - GeronimoLog.error(108) | Error sending message
> (mex={PartnerRoleMex#hqej
> bhcnphr345jrrcb0tf [PID
> {http://com.ibm.de.cis/bpel/EoomBpelProcess}CisEoomFavoritBpelProcess-1<http://com.ibm.de.cis/bpel/EoomBpelProcess%7DCisEoomFavoritBpelProcess-1>
> ]
> calling
> org.apache.ode.bpel.epr.WSAEndpoint@b59a28.dmsArchive
> Process(...)}): Read timed out
>
>
>
> org.apache.axis2.AxisFault: Read timed out
>        at
> org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
>        at
> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java
> :195)
>        at
> org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
>        at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessa
> geWithCommons(CommonsHTTPTransportSender.java:327)
>        at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(Com
> monsHTTPTransportSender.java:206)
>        at
> org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
>        at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
> peration.java:374)
>        at
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(Out
> InAxisOperation.java:211)
>        at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>        at
> org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:148)
>        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:885)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java
> :907)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: java.net.SocketTimeoutException: Read timed
> out
>        at
> java.net.SocketInputStream.socketRead0(Native Method)
>        at
> java.net.SocketInputStream.read(SocketInputStream.java:129)
>        at
> java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>        at
> java.io.BufferedInputStream.read(BufferedInputStream.java:237)
>        at
> org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
>        at
> org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
>        at
> org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java
> :1115)
>        at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$Http
> ConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1373)
>        at
> org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMetho
> dBase.java:1832)
>        at
> org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodB
> ase.java:1590)
>        at
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.j
> ava:995)
>        at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Htt
> pMethodDirector.java:397)
>        at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMe
> thodDirector.java:170)
>        at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav
> a:396)
>        at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav
> a:346)
>        at
> org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(Abst
> ractHTTPSender.java:520)
>        at
> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.jav
> a:191)
>        ... 13 more
>
>
>
> ********************************************
>
> ???
> Tanks
>
>
>
>      Lesen Sie Ihre E-Mails auf dem Handy.
> www.yahoo.de/go
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message