javax.xml.ws.soap.SOAPFaultException: Read timed out - Does
resh123 Jan 7, 2009 4:23 AMHi,
I am using jboss eap 4.3 and jboss-ws. My application exposes a web service implemented as a servlet.
I also have a web service client that invokes the web service. So far everything works okay.
I then started load testing the web service by submitting a number of simultaneously requests. (I wrote a standalone application to do this). I noticed that most of the times all the submitted requests are not processed by the web service. For ex. if I run the test with 25 simultaneous requests, only 22 get processed. The numbers are not consistent and vary on each run. I also noticed the following errors returned by the web service for some client requests:
javax.xml.ws.soap.SOAPFaultException: Read timed out at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.getSOAPFaultException(SOAPFaultHelperJAXWS.java:69) at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.throwFaultException(SOAP11BindingJAXWS.java:109) at org.jboss.ws.core.CommonSOAPBinding.unbindResponseMessage(CommonSOAPBinding.java:553) at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:371) at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:243) at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:164) at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)
The following exception is also seen:
javax.xml.ws.WebServiceException: java.io.IOException: Could not transmit message at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:317) at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:255) at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:164) ........................ Caused by: java.io.IOException: Could not transmit message at org.jboss.ws.core.client.RemotingConnectionImpl.invoke(RemotingConnectionImpl.java:204) at org.jboss.ws.core.client.SOAPRemotingConnection.invoke(SOAPRemotingConnection.java:77) at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:337) at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:243) ... 11 more Caused by: org.jboss.remoting.CannotConnectException: Can not connect http client invoker. at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:333) at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:135) at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122) at org.jboss.remoting.Client.invoke(Client.java:1634) at org.jboss.remoting.Client.invoke(Client.java:548) at org.jboss.ws.core.client.RemotingConnectionImpl.invoke(RemotingConnectionImpl.java:183) ... 14 more Caused by: java.io.IOException: Error writing to server at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:280) ... 19 more
I was just wondering if the web service times out under load. If so, is there some way of increasing the timeout?
Another point worth mentioning here is that the task performed by the web service is time consuming. So could it be the case that some time consuming web service calls cause a timeout?