Reputation: 11724
We are experiencing socket time out exceptions with increased load on our IBM Websphere application server. We were trying to see if the timeouts are caused by slow speed on the application server. Or, is the timeout caused solely based on socket data transfer activity to our SOAP web-service. Basically, would increase load on the client machine cause a socket timeout? Or is the timeout solely caused by slow response time on the server end. Or both? My first thought is that the time out is caused because of slow response time from the server.
Here is an example error. This is Java web app (client) connecting to a windows machine, C# web-service.
WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultString: java.net.SocketTimeoutException: Async operation timed out
faultActor: null
faultDetail:
java.net.SocketTimeoutException: Async operation timed out
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:283)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:725)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
Upvotes: 1
Views: 13313
Reputation: 362
After investigating a similar issue with exception "java.net.SocketTimeoutException: Async operation timed out" on an IBM application server, I ended up finding that the JVM arguments that control that timeout are (for JAXWS calls):
"timeout" (read) & "write_timeout" (write)
I am not suggesting that you should increase those timeouts. You first need to find out why suddenly your calls are taking more than 5 min to reply. If you have a valid reason to increase them, you can pass those arguments to your Java program this way:
java -classpath "/classpath/dir1/*:/classpath/dir2/" -Dtimeout=600 -Dwrite_timeout=600 ClassName arg1 arg2
Upvotes: 0
Reputation: 8813
IBM's documentation for Async operation timed out
blames the server:
WSWS3228E exception occurs in WebService client (JAX-RPC) when invoking WebService call and WebService provider is taking more than default timeout (300 secs) to process the request.
The server is taking more than 5 minutes (300 seconds) to respond to the request. The most likely scenario is heavy load on the server. The other likely culprit is a slow/unresponsive backing service to the server (e.g. a database or another web service). There is a possibility it is the link between the client and server. You will need to get some metrics out of the server to determine where the requests are getting caught up.
Could I suggest reading Release It!. It lays out the reasons why distributed systems go bad and suggests ways to fix them.
Upvotes: 4