Hi,
I am using ODE 1.3.6 on Tomcat 7.0.47 with 11 processes deployed into it. On
top of these I have a process that acts as a façade so that clients have a
single interface to call. The interface of the façade process is a
consolidation of interfaces provided by all processes. This façade process then
invokes the actual process.
Each process is a long running using explicit correlation.
Each process has 2 receive activities - first receive starts the process and
second receive after receiving a completion reply from the application adapter.
There is a scheduler to execute processes in scheduled manner. The scheduler
invokes the façade process which then invokes the target process.
Randomly (once in 2-3 days for any random process), I get
SocketTimeoutException in client (the scheduler) as follows during invocation
of the process.
Sometimes it is also observed that, even though the client got the exception
the process started and completed successfully.
What could be the cause?
Thanks in advance.
Exception in client:
javax.xml.ws.WebServiceException: Could not send Message.
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
at com.sun.proxy.$Proxy104.startEmpSync3D(Unknown Source)
at
com.geo.ml.scheduler.jobs.EmpSync3DJob.executeProcess(EmpSync3DJob.java:115)
at
com.geo.ml.scheduler.jobs.EmpSync3DJob.execute(EmpSync3DJob.java:49)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking
[Façade Process URL]: Read timed out
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1467)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1452)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:659)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
... 5 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
at
sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at
java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at
java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at
java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at
sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323)
at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1604)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1530)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1438)
... 15 more
Regards,
Jitendra