Xfire客户端异常---Caused by: java.net.SocketTimeoutException: Read timed out

场景:

网络:客户端在同一个局域网中,所有客户端相对服务端来说是同一个IP地址。
服务端:使用axis1对外提供服务,具体信息不明(ws服务是别的公司提供)。
客户端:单个客户端无异常,当两个客户端一起跑的时候出现这个异常(两个客户端都会抛出这个异常,一个一直抛这个异常,无正确调用,另外一个客户端抛若干个异常,然后正常)。

异常:

2014-04-12 19:57:49 [DataExchangeScheduler_Worker-1:1843951125] [ERROR] [org.codehaus.xfire.transport.http.HttpChannel] - java.net.SocketTimeoutException: Read timed out
2014-04-12 19:57:49 [DataExchangeScheduler_Worker-1:1843951125] [ERROR] [connection] - time period:2010_01_01_00_00_21 2010_01_01_00_00_22
2014-04-12 19:57:49 [DataExchangeScheduler_Worker-1:1843951125] [ERROR] [connection] - details follows:
2014-04-12 19:57:49 [DataExchangeScheduler_Worker-1:1843951125] [ERROR] [connection] - 
org.codehaus.xfire.fault.XFireFault: Couldn't send message.
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.Client.invoke(Client.java:368)
at com.dlmu.dataexchange.xfire.XfireClient.invokeService(XfireClient.java:93)
at com.dlmu.dataexchange.client.DataExchangeClient.invokeService(DataExchangeClient.java:595)
at com.dlmu.dataexchange.client.DataExchangeClient.getDataByWebService(DataExchangeClient.java:581)
at com.dlmu.dataexchange.client.DataExchangeClient.processBasicSyn(DataExchangeClient.java:376)
at com.dlmu.dataexchange.client.DataExchangeClient.basicSynByDateParameter(DataExchangeClient.java:243)
at com.dlmu.dataexchange.client.DataExchangeClient.run(DataExchangeClient.java:217)
at com.dlmu.dataexchange.quartz.job.DataExchangeJob.execute(DataExchangeJob.java:21)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.codehaus.xfire.XFireException: Couldn't send message.
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:145)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
... 24 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
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$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1373)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.send(CommonsHttpMessageSender.java:369)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:123)
... 26 more

个人猜测:

与这个网络场景关系很大,因为所有客户端共用同一个IP,而且异常还是出现多个客户端的时候产生的。

解决方案:

暂无(各位有什么思路吗)

你可能感兴趣的:(WebService)