我们正经历套接字超时异常,increased应用服务器上的负载增加。我们试图看看超时是否是由应用服务器上的缓慢速度造成的。或者是完全基于SOAP服务的套接字数据传输活动导致的超时。基本上,增加客户端机器上的负载会导致套接字超时吗?或者,超时仅仅是由于服务器端的响应时间较慢而造成的。还是两者都有?我的第一个想法是,超时是由于服务器响应时间慢造成的。
下面是一个错误示例。这是Java应用程序(客户端)连接到一个windows机器,C# web服务.
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)发布于 2018-06-14 16:13:56
在研究了IBM应用服务器上的异常"java.net.SocketTimeoutException:异步操作超时“的类似问题之后,我最终发现控制超时的JVM参数是(对于JAXWS调用):
"timeout" (read) & "write_timeout" (write)我并不是说你应该增加超时时间。你首先要弄清楚为什么你的电话突然需要超过5分钟才能回复。如果有合理的理由增加这些参数,可以这样将这些参数传递给Java程序:
java -classpath "/classpath/dir1/*:/classpath/dir2/" -Dtimeout=600 -Dwrite_timeout=600 ClassName arg1 arg2参考资料:field15
https://stackoverflow.com/questions/30768248
复制相似问题